Вопрос по internet-explorer, javascript – Не удалось завершить операцию из-за ошибки 80020101. IE [duplicate]
Possible Duplicate:
Ajax request problem: error 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. Любая идея????
вы получаете эту ошибку при попытке вызвать ее после того, как setTimeout () уже сделал свое дело?
завернуть в
if (window.myTimeout) {
clearTimeout(myTimeout);
myTimeout = setTimeout("timerDone()", 1000 * 1440);
}
edit: На самом деле, после дальнейшего размышления, так как вы упомянули 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);
}
что при оценке JavaScript была какая-то ошибка. Если вы загружаете этот JavaScript через Ajax, процесс оценки будет особенно строгим.
Иногда удаляя// исправит проблему, но обратное неверно ... проблема не всегда вызвана//.
Посмотрите на точный JavaScript-код, возвращаемый вашим Ajax-вызовом, и найдите все проблемы в этом скрипте. Для более подробной информации смотрите отличную рецензию здесь
http://mattwhite.me/blog/2010/4/21/tracking-down-error-80020101-in-internet-exploder.html