|
I also dislike netscrap. But I also agree that there is not a 6 layer limit. For example this site http://legendweb.nmt.com has over 30 layers. Many third party .js libraries have requirements for how layers are initialized. You want to look out for this.
Good Luck!!
|
|
|
|
|
Thanks for the nice name NutScape, that is what such products are.
Aaah I hate netscape, oops Nutscape, Nutscape really sick
|
|
|
|
|
I think we've touched on this before but never really found a suitable solution. Is there a simple way to strip HTML from text, on the server, using ASP?
Ideally I'd like a function "StripHTML" which would take a string containing things like "<a href=http://blah.com'><b>My Site</b></a>" and would return "My Site".
I know I can use an ActiveX control (in fact Uwe has written a fantastic text replacement control we'll be using) but a quick simple solution would be wonderful.
|
|
|
|
|
Chris,
Here's a way you can do it in ASP below. I was trying to get just the MSHTML object loaded server side, but have been unsuccessful. There is the overhead of the whole IE instance with this method, but it works. Maybe you could load one for the ASP application and do a server lock and unlock before and after it's use then you only have 1 loaded for the whole application lifetime.
The Solution:
// IN ASP FILE
<%@language="vbscript"%>
<%
On Error Resume Next
Set DOMObject = CreateObject("InternetExplorer.Application")
'Initialize the document object
DOMObject.navigate "about:blank"
'set the inner HTML
' *** REPLACE WITH YOUR setting on RHS. be it from the
' Request object or a session variable.
DOMObject.document.body.innerHTML = "FooBar"
%>
<%=DOMObject.document.body.outerText%>
<%
' Free the IE instance
DOMObject = Nothing
%>
-Erik Thompson
|
|
|
|
|
Thank you!
I'll do some performance testing to see how bad the hit is - but it seems the only way, apart from writing a server side ActiveX component. Konstantin Vasserman has written such a control so I'll compare methods.
cheers
Chris
|
|
|
|
|
Hey, a maybe good idea comes in my mind: You could eliminate those things (which are really just something like an opening bracket "< ", followed by some stuff and a closing bracket "> ") by using regular expressions.
This should be very easily acchieved by temporarly switching from VBScript as the ASP scripting language to JScript and use their powerful (?) regular expression syntax.
Or even better, switch temporarly to PerlScript , from www.activestate.com, which can do this even better.
|
|
|
|
|
I've written VERY little ASPs so please be kind .....
Would it be possible to spawn an MFC app from an ASP that could then read my custom database (can't be eg. Access as anyone can read it!), and display the data etc?
Thanks
|
|
|
|
|
You can write an ActiveX control to do the database reading, and it can return a recordset for you to use. OR, if the database can be read using Access or SQLServer then ADO in ASP is dead simple (see my article)
|
|
|
|
|
http://www.autodidact.co.il/
|
|
|
|
|
I have an ATL component that passes back an IDispatch of a _RecordsetPtr as the VT_DISPATCH of a VARIANT.
e.g.
STDMETHODIMP CBASE::GetRecordSet(BSTR sql, VARIANT *Result)
{
_variant_t vBuffer;
...
vBuffer = static_cast<idispatch*>(m_recordset);
*Result = vBuffer.Detach();
}
From my C++ MFC app I can call GetRecordSet() and access the recordset using the pdispVal of the VARIANT
....
VARIANT Result;
hr = IBaseInst->GetProfile( _bstr_t("SELECT name FROM emps"), &Result);
_RecordsetPtr pRecordSet;
pRecordSet = Result.pdispVal;
if( !pRecordSet->adoEOF)
{
....
}
I am trying to perform similar actions from an ASP page but do not know how to access the recordset correctly.
I can access fields assuming they exist using:
Dim rs
rs = Ibase.GetRecordSet( "SELECT name FROM emps")
gName = rs("name")
But I can not do much else; rs.bof fails with 'Object doesn't support this property or method'.
I obvioulsy need to do something to get at the recordset from the returned VARIANT, but what ? Can anyone help with suggestions or code examples.
|
|
|
|
|
I see your using MFC but my ATL code should still help you
STDMETHODIMP CDoc_Session::SQLSearch(BSTR bstrSQL, Recordset ** ppRecSet)
{
HRESULT hr;
try
{
_bstr_t bstrSearch(bstrSQL);
if(bstrSearch.length()>0)
{
_RecordsetPtr piRS;
hr = piRS.CreateInstance(__uuidof(Recordset));
if(FAILED(hr)) return hr;
piRS->CursorLocation = adUseClient;
piRS->Open(bstrSearch, m_piConn->ConnectionString, adOpenForwardOnly,adLockReadOnly,adCmdUnknown);
if(VARIANT_FALSE == piRS->GetADOEOF())
return piRS->QueryInterface(__uuidof(_Recordset), reinterpret_cast<void**>(ppRecSet));
else
return E_FAIL;
}
else
return E_FAIL;
}
catch (_com_error e)
{
::MessageBox(NULL, e.Description(), "DNS", MB_OK);
return e.Error();
}
catch (...)
{
return E_FAIL;
}
return S_OK;
}
1. You need to change your variant return value to a Recordset ** ppRecSet. You will need to do a #importlib of the msado15.dll in the library section of your .idl file. This is so the midl compiler will be able to marshell the Recordset type.
2. Next you need to make sure returning
Recordset->CursorLocation=adUseClient;
3. Finally you need do a QueryInterface on the local Recordset so that can intialize the returing record set.
If you need more help on this I think I might be able to find some old MFC code that does this same thing.
Good Luck
|
|
|
|
|
You see, I could make a particular page error
by adding errorme('')<script> to my forum
How can i avoid this at my site asp?
|
|
|
|
|
Anyone know how to attach multiple conditions to a click event?
For example if a user clicks on a submit button....how can I specify an if then else condition?
i know its pretty easy but im new to Jave Script.
thanks in advance.
|
|
|
|
|
Just call a function in the onClick() event and do what you want in that function.
|
|
|
|
|
please teach me
may be... use the CreateObject ??
or... i have no idea.
tell me tell me loving you ( -_-... sorry )
bye
|
|
|
|
|
Hi,
You can create any COM object like this:
Set MyObj = Server.CreateObject("Object.Prog.ID")
....
Set MyObj = Nothing 'Destroying object
If you still do not fill comfortable about it... Check our company's WEB site at www.dundas.com. We have FREE ASP components like pie chart and mailer with examples of how to use them in ASP pages.
Regards,
Alex Gorev,
Dundas Software
|
|
|
|
|
Has anyone else here worked with banners that are enclosed in an IFrame?
I have drop-down menus on my site (very similar to microsofts) and they go under the banners instead of over them.
Any help would be appreciated.
-Dan Smith
dans@3dgamedev.com
|
|
|
|
|
We have a problem. Here it is: A user is filling out a form and suddenly
they get to a text box that asks for an employee number. The problem is
that the user does not know the employee number, but they know the name of
the employee. The employee table has 65,000 names. That is much too long
a list to show in a list box - not to mention the load time over the
internet.
We could have the user click on a search button next to the employee number
text box. The search button could initially open a search page like the
typical page that we use and it would show a list based on the entry in the
search text box. If the user clicks on an employee, it could automatically
fill the text box back on the original form and display the correct
employee number. The big question is how do we jump back and how do we
update the original form?
|
|
|
|
|
This is pretty simple... You can create a HTML modal dialog or a search window, and since you know the owner (Parent window), you can access the document object and all it's elements. Then when the user clicks OK on your search dialog, you can update the field with the employee number for the user selected...
Hope this helps,
-Erik
|
|
|
|
|
Yep, me again folks. I'm trying to get into DHTML but the various browsers are getting in my way.
Does anyone know of any bugs in IE5's implementation of DHTML? I had a fairly simply page running perfectly in IE4 here at work, but when I took the same page home to IE5 it doesn't work the same (it doesn't work completely, basically).
All the code did was create two hidden DIVs of a certain size with some text and an IMG tag in each, and a third DIV, initially hidden, with some text and a combo box. That third DIV is then shown, and should be the only item visible in that document, in the centre.
In IE5, the text from the third DIV shows up, but the combo does not - and the text is not in the same position as it was in IE4 - it is further down (possibly because it is in a table and v-centred). But why doesn't the combo box show?!!
|
|
|
|
|
I have found that if the text and other stuff you put in a DIV-/DIV block is too big, it just spills out the bottom. I know that you can control this behaviour by using the overflow property in the stylesheet. My question is, is it possible to calculate how big the DIV needs to be to accommodate all of its contents fully? IT is not really good enough to design it big enough at your own end, because other people might be using larger default fonts in their browser (in IE, at least, you can choose the size of the standard font), and so it might not fit then. IF you could calculate the size at run time in their browser, it would ensure the DIV was large enough (and would then enable the code to accurately centre it in the page, for example).
|
|
|
|
|
Set the width of the DIV block to a fixed value and make its position absolute so you can work with it under IE and Netscape.Create it as invisible. The browser should then set its height to a value so that the block will accomodate its contents. Now you can retreive this value with:
IE: document.all["strID"].offsetHeight
Netscape: document.layers["strID"].clip.height
This way you have the dimensions of the block (you know the width because you fixed it at the beginning) and you can center it in the browser window. Don't forget to make the block visible!
Bye
|
|
|
|
|
OK, thanks - I'll try that. At the moment I can't even get code to work consistently between IE4 and IE5 - don't you just love the concept of backwards compatibility? Microsoft have clearly never heard of it.
|
|
|
|
|
Sorry, this is slightly lengthy to give all possible information.
I'm having difficulty retrieving the width and height (or anything, for that matter) from a block defined with a DIV. I predefined its position and size using the standard stylesheet approach, so it DEFINITELY has a position and size (and I can see it occupy those dimensions, so I know it works).
I am trying to get the size like this:
function GetDIVObject(strID)
{
var Object = null ;
switch (g_iBrowser) // Assume this is correctly set.
{
case BROWSER_IE :
Object = document.all[strID].style ;
break ;
... and other cases for other browsers, I'm using IE5...
}
}
var Object ;
Object = GetDIVObject("CategorySelect") // This name is OK
// The object returned is not null, as the browser is
// correctly recognised as IE.
I have tried:
iWidth = Object.width
iWidth = Object.posWidth
iWidth = Object.pixelWidth
but none of them return anything useful - the first returns blank or undefined, the others return 0.
The DIV block is defined not directly into an HTML page but
by document.writeln() statements creating the HTML lines - but this MUST work because I do see the created DIV (it contains a combo box). The call to get the size IS located AFTER the declaration of the DIV.
I am trying to do this so that I can centre the DIV in the available client space.
Any ideas?
|
|
|
|
|
I think the problem is in the function GetDIVObject(strID). Try the following:
return document.all[strID].style;
instead of:
Object = document.all[strID].style;
because you're assigning the return value of the function to Object.
|
|
|
|