由于错误80020101,无法完成操作。IE
可能重复:
Ajax请求问题:错误80020101
我正在使用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。 任何想法????
我不知道为什么,但它为我工作。 如果你有类似的评论
//Comment
然后它给出这个错误。 要解决这个问题
/*Comment*/
没有任何意义,但它对我有用。
所有错误80020101意味着在评估JavaScript时出现某种错误。 如果您通过Ajax加载JavaScript,评估过程特别严格。
有时删除/ /将解决这个问题,但反过来是不正确的…这个问题并不总是由/ /。
查看Ajax调用返回的确切JavaScript,并查找该脚本中的任何问题。 欲了解更多详情,请看这里的一个伟大的写作
http://mattwhite.me/blog/2010/4/21/tracking-down-error-80020101-in-internet-exploder.html
包裹你的整个代码块:
//<![CDATA[ //code here //]]>
还要确保将脚本的types指定为text / javascript
试试看,让我知道如何去
如果您使用IE9,请closures兼容性视图。
你什么时候调用timerReset()? 也许你在setTimeout()已经完成之后试图调用它时会出现这个错误?
包裹它
if (window.myTimeout) { clearTimeout(myTimeout); myTimeout = setTimeout("timerDone()", 1000 * 1440); }
编辑:其实,经过进一步的思考,因为你提到了jQuery(并没有任何实际的jQuery代码在这里…我不知道你是否有这样的嵌套在一些jQuery(如内$(document).ready(..
这是一个可变范围的问题。如果是的话,试试这个:
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); }