By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
459,382 Members | 1,631 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 459,382 IT Pros & Developers. It's quick & easy.

Function being ignored in NN4

P: n/a
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.)

--
Stephen Poley
Barendrecht, Holland
Jul 20 '05 #1
Share this Question
Share on Google+
4 Replies


P: n/a


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

--

Martin Honnen
http://JavaScript.FAQTs.com/

Jul 20 '05 #2

P: n/a
On Wed, 02 Jul 2003 14:04:38 +0200, Martin Honnen
<Ma***********@t-online.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');
}
--
Stephen Poley
Barendrecht, Holland
Jul 20 '05 #3

P: n/a
Hi,

Stephen Poley wrote:
On Wed, 02 Jul 2003 14:04:38 +0200, Martin Honnen
<Ma***********@t-online.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');
}


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.

This problem doesn't happen on Mozilla/Netscape 7.

HTH,

Laurent
--
Laurent Bugnion, GalaSoft
Webdesign, Java, javascript: http://www.galasoft-LB.ch
Private/Malaysia: http://mypage.bluewin.ch/lbugnion
Support children in Calcutta: http://www.calcutta-espoir.ch

Jul 20 '05 #4

P: n/a
On Thu, 03 Jul 2003 07:01:45 +0200, "Laurent Bugnion, GalaSoft"
<galasoft-LB@bluewin_NO_SPAM.ch> wrote:
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.
Thank you very much - that did indeed turn out to be the problem.
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.
Agreed. Actually all I need to do in Netscape 4 is explain to the reader
that the specific function concerned is unavailable. So I managed to fix
it by putting the buttonbar() function in a separate <SCRIPT> element,
immediately after the element containing the case statement. The script
is at least together in the <HEAD>, which is what I wanted.
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.


I mainly use Opera, and also test the results in Mozilla and IE. If I
get into doing a lot of Javascript, I'll probably use Mozilla more.
Netscape 4 is, as you imply, mainly a damage-limitation exercise, but I
do still get about 3%-4% NN4 visitors, so I'm not abandoning them just
yet.

--
Stephen Poley
Barendrecht, Holland
Jul 20 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.