目前,当文档 DOM 准备好时,我正在处理的 Web 应用程序使用 jQuery.Load() 加载许多脚本文件。但是,如果这些脚本文件有语法错误,那么 Firebug 或 IE Developer Tool 都不能可靠地显示有错误的行或给出一些非常大的行号。
如何调试此类脚本?或者我应该通过脚本标签加载它们,直到我验证它们没有错误?
目前,当文档 DOM 准备好时,我正在处理的 Web 应用程序使用 jQuery.Load() 加载许多脚本文件。但是,如果这些脚本文件有语法错误,那么 Firebug 或 IE Developer Tool 都不能可靠地显示有错误的行或给出一些非常大的行号。
如何调试此类脚本?或者我应该通过脚本标签加载它们,直到我验证它们没有错误?
Mozilla 的 firebug 插件有一个内置的 javascript 调试工具。可用于上述目的
通过为它们动态添加脚本标签(使用 DOM)来加载它们,这应该可以解决问题:
var newScript;
var loadFunc = function ()
{
alert("External Javascript File has been loaded");
};
newScript = document.createElement('script');
newScript.setAttribute('type','text/javascript');
newScript.setAttribute('src');
newScript.onreadystatechange = function() //IE triggers this event when the file is loaded
{
if (newScript.readyState == 'complete' || newScript.readyState == 'loaded')
loadFunc();
};
newScript.onload = loadFunc; //Other browsers trigger this one
document.getElementsByTagName('head')[0].appendChild(newScript);
我对 YUI3 有完全相同的问题。我恢复到包含所需文件的公认不那么酷但更稳定的方法 - YUI3 有一个简洁的工具可以为您提供所有这些脚本标签 - 我不知道它是否与 JQuery 相同。抱歉,这可能没那么有用!