Syntax error on external JS file beyond end of file

J

Josh

Hi All,

I know this is a novice question that I should be able to solve through
searching but I have Googled my fingers off and not found anything that
seems to help.

I have the following HTML file:
---
<html>
<head>
<title>Test</title>
<script type="text/javascript" src="test.js"></script>
</head>
<body>
Hi There. <a href="javascript:doit()">Click Me</a>
</body>
</html>
---

The following js file:
--
function doit() {
alert("I did it");
}
--

Running htm file locally (double click) gives me security warning (XP
SP 2) but if I then select "allow script to run" everything works fine.

But when I serve page through IIS (localhost) I get a syntax error line
4 char 4. Of course there is no line 4 in the js file.

This HAS to be something simple I am missing but I have tried:
- with and without language attribute in script tag
- relative and absolute paths for the js file
- with and without Mime type for js set in IIS

Only remaining thing I guess it could be is file permissions but
everything has execute on it as far as I can see.

Any help appreciated.

Thanks,

Josh
 
L

Lee

Josh said:
Hi All,

I know this is a novice question that I should be able to solve through
searching but I have Googled my fingers off and not found anything that
seems to help.

I have the following HTML file:
---
<html>
<head>
<title>Test</title>
<script type="text/javascript" src="test.js"></script>
</head>
<body>
Hi There. <a href="javascript:doit()">Click Me</a>
</body>
</html>
---

The following js file:
--
function doit() {
alert("I did it");
}
--

Running htm file locally (double click) gives me security warning (XP
SP 2) but if I then select "allow script to run" everything works fine.

But when I serve page through IIS (localhost) I get a syntax error line
4 char 4. Of course there is no line 4 in the js file.

This HAS to be something simple I am missing but I have tried:
- with and without language attribute in script tag
- relative and absolute paths for the js file
- with and without Mime type for js set in IIS

Only remaining thing I guess it could be is file permissions but
everything has execute on it as far as I can see.

If the browser can see line 4 to report an error, it's not a
permissions problem. The browser downloads the file and then
compiles and executes it. Source code doesn't need execute
permissions.

Try your page in a browser that gives useful error messages
(eg, Firefox).
 
R

Randy Webb

Josh said the following on 10/14/2005 4:16 PM:
Hi All,

I know this is a novice question that I should be able to solve through
searching but I have Googled my fingers off and not found anything that
seems to help.

Did you try searching the comp.lang.javascript archives for "getting
useful error messages" ?
I have the following HTML file:
---
<html>
<head>
<title>Test</title>
<script type="text/javascript" src="test.js"></script>
</head>
<body>
Hi There. <a href="javascript:doit()">Click Me</a>

</body>
</html>

Yes, that is a default XP SP2 setting, but it can be disabled:

Tools>Internet Options>Advanced>"Allow active content....."
But when I serve page through IIS (localhost) I get a syntax error line
4 char 4. Of course there is no line 4 in the js file.

Error message line numbers are not relative to the js file, they are
relative to the current windows HTML. And even then that is not always
true. Error line 0 char 0 is a common one.
This HAS to be something simple I am missing but I have tried:
- with and without language attribute in script tag
- relative and absolute paths for the js file
- with and without Mime type for js set in IIS

Place the script contents into the page itself, test it and then go from
there.
 
J

Josh

Let me follow up my own post, I guess I wasn't clear enough. I do
appreciate all the feedback.

This is a dumbed down example. I tried the same thing with a 563 line
JS file and got error on line 565. And a 32 line JS file and the error
was on line 33. So the line number does have something to do with the
length of the JS file. I dumbed down to the simplest example for this
post and to verify it was really a problem.

Secondly, I don't need to run on another browser to see useful error
messages because there is no *real* langauge error (and yes, it works
fine when the script is put right into the html file, so do the much
large JS files I really want to use, but I don't want to clutter the
HTML file with 563 lines of Javascript).

It has something to do with the way the file is referenced in the HTML
file or configuration (hence my question about file permissions) and
possibly with the use of IIS as a server and IE as a browser. But no
choice on either of those, IIS will be the server this gets deployed on
and IE is still the #1 browser out there.

I can't believe I am the first person to come across this.

Thanks.
 
L

Lee

Josh said:
Secondly, I don't need to run on another browser to see useful error
messages because there is no *real* langauge error

You're getting an error message from a browser that is known to give useless
error messages. Why in the world would you imagine that a browser that gives
useful messages won't help you, just because the error doesn't have anything to
do with a "real" language error?
 
J

Josh

What can I say, when he is right he is right.

The problem was that automatic document footer is turned on in IIS and
it is appending the footer to the JS file. So the cause of this is
found.

Thanks for all the help.

Josh
 
R

Randy Webb

Josh said the following on 10/17/2005 10:50 AM:
What can I say, when he is right he is right.

The problem was that automatic document footer is turned on in IIS and
it is appending the footer to the JS file. So the cause of this is
found.

Thanks for all the help.

Now, if we can just manage to teach you to quote what you are replying to.

Please quote what you are replying to.

If you want to post a followup via groups.google.com, don't use the
"Reply" link at the bottom of the article. Click on "show options" at
the top of the article, then click on the "Reply" at the bottom of the
article headers.
 

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

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top