![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
Apologies if this is a silly question, but Googling on the archive didn't produce any answers. I have a piece of inline Javascript which works as expected in IE 6, Opera 7, Mozilla and NN 4. In the interests of keeping my pieces of script together, I changed it into a function and called it thus: SCRIPT type="text/javascript" buttonbar(); /SCRIPT This works fine in IE, Opera and Mozilla, but NN 4 does not call the function. Could anyone suggest why? The page is validated HTML 4.01. (And before you ask: I do have a corresponding <NOSCRIPT> element as well.) |
#3
| |||
| |||
|
|
Stephen Poley wrote: Apologies if this is a silly question, but Googling on the archive didn't produce any answers. I have a piece of inline Javascript which works as expected in IE 6, Opera 7, Mozilla and NN 4. In the interests of keeping my pieces of script together, I changed it into a function and called it thus: SCRIPT type="text/javascript" buttonbar(); /SCRIPT This works fine in IE, Opera and Mozilla, but NN 4 does not call the function. Could anyone suggest why? The page is validated HTML 4.01. (And before you ask: I do have a corresponding <NOSCRIPT> element as well.) What does the JavaScript console in NN4 show? Type javascript:<return in the location bar and check for error messages |
#4
| |||
| |||
|
|
On Wed, 02 Jul 2003 14:04:38 +0200, Martin Honnen Martin.Honnen (AT) t-online (DOT) de> wrote: Stephen Poley wrote: Apologies if this is a silly question, but Googling on the archive didn't produce any answers. I have a piece of inline Javascript which works as expected in IE 6, Opera 7, Mozilla and NN 4. In the interests of keeping my pieces of script together, I changed it into a function and called it thus: SCRIPT type="text/javascript" buttonbar(); /SCRIPT This works fine in IE, Opera and Mozilla, but NN 4 does not call the function. Could anyone suggest why? The page is validated HTML 4.01. (And before you ask: I do have a corresponding <NOSCRIPT> element as well.) What does the JavaScript console in NN4 show? Type javascript:<return in the location bar and check for error messages It says: ---- JavaScript Error: file:/C|/!Website/Development/webmatters/resize.html, line 52: invalid case expression JavaScript Error: file:/C|/!Website/Development/webmatters/resize.html, line 192: buttonbar is not defined. ---- Line 52 is in a function close to the top of my Javascript and should not have been called on initial display, so I assume that NN4 starts there for some reason when it can't find buttonbar. Or, musing further, perhaps NN4 can't parse this and the error recovery stops it from finding buttonbar. The statement is as follows. Line 52 is 'case small'. Is there something here that NN4 doesn't like? switch(imgsize) { case small: imgwidth=smaWidth; imgheight=smaHeight; imgid='1'; break; case medium: imgwidth=medWidth; imgheight=medHeight; imgid='2'; break; case large: imgwidth=larWidth; imgheight=larHeight; imgid='3'; break; default: alert('Javascript error 1; please shoot the author'); } |
#5
| |||
| |||
|
|
I recently found out that Netscape 4 chokes on case labels which are defined somewhere else in the code. Pretty boring (if you really *have* to use Netscape 4), since it prevents you to use (pseudo-)constants as case labels. What seems to happens is that Netscape 4 parses the switch..case part before it parses the place where the (pseudo-)constants are defined. |
|
Changing the order of the definitions in the script didn't change the problem. Replacing the case label with numerals did solve the problem, but is not satisfying from a programmer's POV. |
|
This and other reasons convinced me to definitely drop Netscape 4 as a development tool and to use Mozilla/Venkman to develop. My target is now Netscape 7 / IE5+ and I will give only the simplest version of my sites to Netscape 4 users, as well as a request to upgrade. |
![]() |
| Thread Tools | |
| Display Modes | |
| |