окно подтверждения javascript, приводящее к тому, что плагин jquery idleTimeout отображает диалог в неподходящее время - PullRequest
1 голос
/ 19 мая 2011

Я использовал плагин idleTimeout jquery из erichynds.com , и он нормально работал в Firefox и IE ... однако я обнаружил странную проблему при использовании этого в chrome 11.0.

Я использую javascript «подтвердить» оповещения, чтобы помочь обработать удаление элементов.В Chrome каждый раз, когда вызывается окно подтверждения, появляется диалоговое окно «idleTimeout», как если бы пользователь находился в режиме ожидания, а мышь не двигалась ... это происходит сразу после нажатия одной из кнопок в окне подтверждения.

Я попытался использовать диалоговое окно jquery ui вместо окна «подтверждения» javascript, и проблема исчезла, однако мне пришлось использовать «синхронное» окно подтверждения из-за требований, которые у меня были, поэтому у меня былоудалить диалоговое окно jquery ui.

Есть идеи, как обойти эту проблему?Заранее спасибо.

1 Ответ

1 голос
/ 19 мая 2011

Нашли решение по этой ссылке, примерно вдвое меньше, чем другой пользователь опубликовал это исправление для всех, кто сталкивался с этим.

ссылка


No idea why Chrome alert/confirm causes idle to be triggered, but here is my work-around. In jquery.idletimer.js, the toggleSTate function, replace the the "// reset timeout counter" with:

// reset timeout counter
var elapsed = (+new Date) - f.olddate;
f.olddate = +new Date;

// handle Chrome always triggering idle after js alert or comfirm popup
if (idle && (elapsed < timeout)) {
idle = false;
clearTimeout($.idleTimer.tId);
if (enabled)
$.idleTimer.tId = setTimeout(toggleIdleState, timeout);
return;
}
...