javascript确认框导致idleTimeout jquery插件在错误的时间显示对话框

发布于 2024-11-08 14:18:55 字数 488 浏览 0 评论 0原文

我一直在使用 中的idleTimeout jquery插件erichynds.com 并且它在 Firefox 和 IE 中运行良好...但是我在 chrome 11.0 中使用它时发现了一个奇怪的问题。

我使用 javascript“确认”警报来帮助处理项目的删除。在 Chrome 中,每当“确认”框被调用时,都会出现“idleTimeout”对话框,就好像用户处于空闲状态并且鼠标没有移动一样......在我按下确认提示上的一个按钮后,就会立即发生这种情况。

我尝试使用 jquery ui 对话框而不是 javascript“确认”框,问题就消失了,但是,由于我的要求,我必须使用“同步”确认框,所以我不得不废弃 jquery ui 对话框盒子。

有什么想法可以解决这个问题吗?提前致谢。

I've been using the idleTimeout jquery plugin from erichynds.com and it has been working fine in Firefox and IE...however I uncovered a weird problem when using this in chrome 11.0 .

Im using javascript "confirm" alerts to help handle the delete of items. In Chrome, anytime the "confirm" box is called the "idleTimeout" dialog box shows up, as if the user was idle and the mouse not moving....this occurs immediately after I press one of the buttons on the confirm prompt.

I tried using the jquery ui dialog box instead of the javascript "confirm" box and the problem went away, however, I have to use a "synchronous" confirm box because of the requirements I have, so I had to scrap the jquery ui dialog box.

Any ideas how to get around this problem? Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

要走干脆点 2024-11-15 14:18:55

在此链接中找到了解决方案,大约一半的时间,另一个用户为遇到此问题的其他人发布了此修复程序。

链接


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;
}

Found the solution at this link, down about half the way another user posted this fix for anyone else who comes across this.

link


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;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文