Ответ 1
Я не знаю, почему, но это сработало для меня. Если у вас есть комментарии, например
//Comment
Затем он дает эту ошибку. Чтобы исправить это, выполните
/*Comment*/
Не имеет смысла, но это сработало для меня.
Возможный дубликат:
Проблема с запросом Ajax: ошибка 80020101
Я использую JQuery-1.64, и это мой код для reset timer
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 была какая-то ошибка. Если вы загрузите этот JavaScript через Ajax, процесс оценки будет особенно строгим.
Иногда удаление//исправляет проблему, но инверсия неверна... проблема не всегда вызвана //.
Посмотрите на точный JavaScript, возвращаемый вашим вызовом Ajax, и найдите все проблемы в этом script. Для получения дополнительной информации см. Отличную запись здесь
http://mattwhite.me/blog/2010/4/21/tracking-down-error-80020101-in-internet-exploder.html
завершите весь блок кода следующим образом:
//<![CDATA[
//code here
//]]>
также обязательно укажите тип script как text/javascript
попробуйте и дайте мне знать, как это происходит.
Отключить представление совместимости, если вы используете IE9.
когда вы вызываете timerReset()? Возможно, вы получаете эту ошибку при попытке вызвать ее после того, как setTimeout() уже выполнил свою задачу?
оберните его в
if (window.myTimeout) {
clearTimeout(myTimeout);
myTimeout = setTimeout("timerDone()", 1000 * 1440);
}
edit: На самом деле, после дальнейшего размышления, так как вы упомянули jQuery (и все же не имеете никакого реального кода jQuery здесь... Интересно, есть ли у вас это вложенное внутри некоторого jQuery (например, внутри a $(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);
}