Javascript 由于错误80020101,无法完成操作。即

Javascript 由于错误80020101,无法完成操作。即,javascript,internet-explorer,Javascript,Internet Explorer,可能重复: 我正在使用JQuery-1.64,这是我重置计时器的代码 var message="Logged in"; var myTimeout = setTimeout("timerDone()",1000 * 1440); function timerDone() { message="Logged out"; } function timerReset() { clearTimeout(myTimeout); myTimeout = setTimeou

可能重复:

我正在使用JQuery-1.64,这是我重置计时器的代码

var message="Logged in";
var myTimeout = setTimeout("timerDone()",1000 * 1440);
function timerDone()
{
    message="Logged out";   
}
function timerReset()
{


    clearTimeout(myTimeout);
    myTimeout = setTimeout("timerDone()", 1000 * 1440);
}
但它给了我一个错误,只有在IE中,当我尝试执行clearTimeout时。
你知道什么时候调用timerReset()?在setTimeout()完成任务后尝试调用它时,可能会出现该错误

把它包起来

if (window.myTimeout) { 
  clearTimeout(myTimeout);
  myTimeout = setTimeout("timerDone()", 1000 * 1440);
}
编辑:事实上,在进一步思考之后,因为您提到了jQuery(但这里没有任何实际的jQuery代码…我想知道您是否将其嵌套在某个jQuery中(例如
$(文档)中)。就绪(..
),这是一个变量范围的问题。如果是,请尝试以下操作:

window.message="Logged in";
window.myTimeout = setTimeout("timerDone()",1000 * 1440);
function timerDone()
{
    window.message="Logged out";   
}
function timerReset()
{


    clearTimeout(window.myTimeout);
    window.myTimeout = setTimeout("timerDone()", 1000 * 1440);
}

将整个代码块包装在以下内容中:

//<![CDATA[

//code here

//]]>
//
还要确保将脚本类型指定为text/javascript


试试看,让我知道它是怎么回事。我不知道为什么,但它对我有用。如果你有这样的评论

//Comment
然后它给出了这个错误。要修复这个错误

/*Comment*/

没有任何意义,但它对我起了作用。

如果使用IE9,请关闭兼容性视图。

所有错误80020101意味着在评估JavaScript时出现了某种错误。如果通过Ajax加载该JavaScript,评估过程尤其严格

有时删除//会解决问题,但反之亦然……问题并不总是由//引起的

查看Ajax调用返回的确切JavaScript,并查找该脚本中的任何问题


timerReset()每当用户点击某个东西或基本上每当页面加载时调用。它不起作用。我不确定是否是这个错误,即使IE指向它,因为当它加载时,它应该显示手风琴选项卡,而IE中没有。此外,IE指向jQuery1.6错误出于某种原因,我可能已经尝试过了,但我无法用因为我们已经启动了该网站,所以不再需要你了。但是它可以工作,并要求你的用户做同样的事情吗?遵循这一点,它就工作了:)例如:如果你加载一个部分HTML文档并将其添加到文档中(例如使用AngularJS)这有一个脚本标签,它可能有助于直接包含JavaScripts谢谢。还要删除JavaScripts选项数组中的任何尾随逗号。