我如何调试这个奇怪的IE JavaScript问题

时间:2008-11-28 22:12:56

标签: javascript internet-explorer

行,

这是我的问题,我有一个包含我的JS包含的HEAD部分的母版页。我有一个JS包含

<script src="Includes/js/browser.js" language="javascript" type="text/javascript"></script>

在我的页面中,我这样使用它:

<body>
<form id="form1" runat="server">
<div>
....
<script type="text/javascript">registerBookmarkButton();</script>
....
</div>
</form>
</body>

我得到了这个错误:

Line: 216
Error: Object expected

请告诉我,我错过了一些东西,这是一个愚蠢的错误

5 个答案:

答案 0 :(得分:2)

如你所愿。

  

你错过了什么,这是一个愚蠢的错误。

:)

话虽如此,我试图找出哪个文件有错误的行216.也许是browser.js文件?其他可能性包括:

  • 你弄乱了网址并且没有加载文件;
  • 该函数依赖于要完全加载的DOM,但是在创建相关元素之前调用它(大多数JS应该在正常情况下的onload事件之后完成)。

答案 1 :(得分:2)

答案 2 :(得分:1)

  1. 尝试通过JSLint运行代码。
  2. 在此处添加alert()来电以将错误范围缩小到特定位置。

答案 3 :(得分:0)

当浏览器的脚本引擎期望找到对象但是无法执行此操作时,会出现“对象预期”错误。这通常发生在您尝试进行函数调用时,但函数本身对脚本引擎不可用,可能是因为您在调用时错误键入了函数名。

要成功调试此错误,您必须首先确定错误中报告的行号的指令。除非你有一些心灵调试能力,否则无法通过浏览所有源文件来完成此操作。建议在JavaScript调试器中捕获异常。 如果您在MS IE下进行调试,则可能需要安装可以与MS Office一起安装的Microsoft脚本引擎,或者安装可怜人的Microsoft脚本调试器。对于Firefox,有优秀的Firebug和Venkman扩展。在IE中调试JavaScript的Jonathan Boutelle's blog post似乎是必读的。

答案 4 :(得分:0)