New to Javascript

J

JSNewbie

I am new to javascript. I used the code below in Netscape 7.0 and in
IE 6.0. The Javascript portion does not render in Netscape , but it
does show in IE. Can someone explain why? Any helpful insight would
be appreciated.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html xmlins="http://www.w3.org/1999/xhtml">
<head>
<title>Java Script Test</title>
</head>
<body bgcolor="#FFFFF">
<h1> What is your problem
</h1>
<script language="javascript"
type="text javascript">
<!-- Hide script from old browsers

document.write("<h1> Today is </h1>")

// End hiding script from old broswers -->
</script>
</body>
</html>
 
E

Evertjan.

JSNewbie wrote on 29 mrt 2005 in comp.lang.javascript:
I am new to javascript. I used the code below in Netscape 7.0 and in
IE 6.0. The Javascript portion does not render in Netscape , but it
does show in IE. Can someone explain why? Any helpful insight would
be appreciated.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html xmlins="http://www.w3.org/1999/xhtml">
<head>
<title>Java Script Test</title>
</head>
<body bgcolor="#FFFFF">

Better [get ]use[d to] CSS
White is default anyway
<h1> What is your problem
</h1>
<script language="javascript"

language="javascript" is depriciated, don't use
type="text javascript">
<!-- Hide script from old browsers

<!-- is depriciated for this use for more than 5 years, don't use
document.write("<h1> Today is </h1>")

no problemo!!!
// End hiding script from old broswers -->

see above
</script>
</body>
</html>

Probably javascript switched off in the N7 broswer(?)
 
I

Ivo

JSNewbie wrote
<body bgcolor="#FFFFF">

Better [get ]use[d to] CSS
White is default anyway

Not true. I know a machine where the default is gray, and another where the
default on white text on blue. So another tip: if specifying a
backgroundcolour, you should explicitly set the foreground too.
<!-- is depriciated for this use for more than 5 years, don't use

That has been said before in this newsgroup, but I 'm wondering why even
sites like Google and Altavista still cloak comment their scripts like this.
 
L

Lasse Reichstein Nielsen

Evertjan. said:
JSNewbie wrote on 29 mrt 2005 in comp.lang.javascript:
Should be:
<html xmlns="...
<head>
<title>Java Script Test</title>
</head>
<body bgcolor="#FFFFF">

Better [get ]use[d to] CSS
White is default anyway

Agree on using CSS. Using XHTML with old, deprecated presentational tags
is mixing styles. It won't lead to anything good.

White is not the default background (not even in IE). The default is
the operating system's default window background, which on my computer
is slightly yellow. If you mean white, do use it.

However, what is written is not white. It needs another "F" to become
"#FFFFFF".
language="javascript" is depriciated, don't use

It's "deprecated", but it means almost the same :)

This should be
type="text/javascript">
I think this is what is causing your problem. So, in total:

<script type="text/javascript">

is the way to start a script tag.
<!-- is depriciated for this use for more than 5 years, don't use

It's not deprecated as an HTML comment, but it is correct that it is
not needed inside a script element. The "old browsers" that it is
supposed to hide the script from were succeeded by the generation
of browsers starting with Netscape 2, around 1996.

/L
 
L

Lasse Reichstein Nielsen

[not use "<!-- hide from old browsers"]
That has been said before in this newsgroup, but I 'm wondering why even
sites like Google and Altavista still cloak comment their scripts like this.

Because it's voodoo. You can add it, and it doesn't hurt you, so why
change anything that once worked.

The problem is that it can hurt you if you use XHTML. An XML processor
is free to remove comments before processing the rest, inside any
element, so it could remove your script contents.

Browsers probably won't do that, but if you use XHTML, it should be
because you expect to use other tools on it (browsers are fine with
HTML, IE doesn't even treat XHTML as XML, but only as malformed HTML).

Any browser that understands the script tag, even those that don't
understand its contents, will not need "<!--". That's pretty much any
browser since Netscape 2.

/L
 
E

Evertjan.

Lasse Reichstein Nielsen wrote on 29 mrt 2005 in comp.lang.javascript:
It's "deprecated", but it means almost the same :)

Your correction is apprecated, I pray, Lasse!

===========

M-W:
Main Entry: dep·re·cate
Etymology: Latin deprecatus,
past participle of deprecari to avert by prayer,
from de- + precari to pray

Main Entry: ap·pre·ci·ate
Etymology: Late Latin appretiatus,
past participle of appretiare,
from Latin ad- + pretium price
 
J

John W. Kennedy

JSNewbie said:
I am new to javascript. I used the code below in Netscape 7.0 and in
IE 6.0. The Javascript portion does not render in Netscape , but it
does show in IE. Can someone explain why? Any helpful insight would
be appreciated.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html xmlins="http://www.w3.org/1999/xhtml">
<head>
<title>Java Script Test</title>
</head>
<body bgcolor="#FFFFF">
<h1> What is your problem
</h1>
<script language="javascript"
type="text javascript">
<!-- Hide script from old browsers

document.write("<h1> Today is </h1>")

// End hiding script from old broswers -->
</script>
</body>
</html>

The DOCTYPE is incomplete, and it should have "html" instead of "HTML".

The namespace property is spelled "xmlns", not "xmlins".

Forcing the body background color only is bad practice, because you
don't know what the user's default are. Either set all the colors or
leave them alone.

The "language" property of the "script" element is obsolete.

The MIME type for JavaScript is "text/javascript", not "text javascript".

Using <!-- ... --> is obsolete.

document.write does not work with XHTML (and isn't supposed to). Use the
DOM model.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Java Script Test</title>
</head>
<body>
<h1> What is your problem</h1>
<script type="text/javascript">
var body = document.getElementsByTagName("body")[0];
var h1 = document.createElement("h1");
h1.appendChild (document.createTextNode (" Today is "));
body.appendChild (h1);
</script>
</body>
</html>
 
M

Mick White

JSNewbie said:
I am new to javascript. I used the code below in Netscape 7.0 and in
IE 6.0. The Javascript portion does not render in Netscape , but it
does show in IE. Can someone explain why? Any helpful insight would
be appreciated.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html xmlins="http://www.w3.org/1999/xhtml">
<head>
<title>Java Script Test</title>
</head>
<body bgcolor="#FFFFF">

No such colour...
Mick
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,430
Messages
2,571,676
Members
48,796
Latest member
Greg L.

Latest Threads

Top