I have a jsp with lots of javascript code. Whenever there is a javascript error on the page, shown in the status bar of the IE browser, the line number reported to contain the error, does not match with the line number that actually contains the error. I am doing a right click>view source to find the line number reported. But that line does not contain the error. The error, I assume, is in some other line. What could be the reason for the erroneous line numbers being reported.
相关问题
- Is there a limit to how many levels you can nest i
- How to toggle on Order in ReactJS
- void before promise syntax
- Keeping track of variable instances
- Can php detect if javascript is on or not?
Here is a nice article
Debugging JavaScript: Understanding JavaScript Error Messages
I found the problem after a lot of trials. Hopefully, this will be of use to some guys facing this frustrating problem.
RightClick>View Source is the code what the browser sees to render the page. However, that is not all. The page could also have other HTTP requests to css ans js files. That was what was happening in my case. The error was in an imported(NOT INCLUDED ; had it been included the error would have been on the code) js file. And the line number reported was relative to that js file .
In retrospect ,however, i find this to be correct, since the imported files are stored separately in the browser cache, as they are independent HTTP requests to the web server. And hence should not appear in the RightClick>View Source code.
POTENTIAL PROBLEM: However, though in my case the line number in the individual js file,reported, was found to be correct, that may not always be true. In most enterprise applications, js and css es are often minified to reduce the byte footprint. Hence the js file that you may be looking at , in your IDE, will not be the same as the browser sees. Hence the line numbers could then be different. The line numbers will be w.r.t the compressed version of the file that the browser sees.
IE JAVASCRIPT DEBUGGING: I found this page , which promises to offer debugger environment(albeit ,not sophisticated) in the IE environment.
http://jonathanboutelle.com/2006/01/16/how-to-debug-javascript-in-internet-explorer/ I didnt try it, as I dont have the complete Office package installed.
Internet Explorer is awful at reporting Javascript line numbers - usually the line number reported is where the Javascript
<script>
tag started in the HTML file, instead of the location line number in the Javascript file. Only rely on the 'Error Reported', the Line number isn't worth anything with IE.Use another browser, for example Firefox with the Firebug Extension installed, or Google Chrome which has it's built in Web Inspector which is also great.
As noted in other answers, IE is bad at reporting line numbers for errors. However, the built-in debugger (press F12) in IE8 and later is much more helpful, so I suggest you try that.
If you want to get exact reason and location of error and if you want to perform extensive javascript debugging I would recommend you using FireBug.