Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 完成后,window.print()仅在Chrome上调用idletimer_Javascript_Jquery_Google Chrome - Fatal编程技术网

Javascript 完成后,window.print()仅在Chrome上调用idletimer

Javascript 完成后,window.print()仅在Chrome上调用idletimer,javascript,jquery,google-chrome,Javascript,Jquery,Google Chrome,我有一个页面,其中设置了idletimer,可在20分钟后将您注销: (function($){ var clientTimeoutInMinutes = 20; // hard-coded as requirements ask for 20 minutes $(document).bind("idle.idleTimer", function(){

我有一个页面,其中设置了idletimer,可在20分钟后将您注销:

               (function($){

                    var clientTimeoutInMinutes = 20; // hard-coded as requirements ask for 20 minutes

                    $(document).bind("idle.idleTimer", function(){
                      form = document.FormOSDA;
                      form.TargetPage.value = "Logout";
                      form.action="myactionpage";
                      form.submit();
                    });
                    $.idleTimer(clientTimeoutInMinutes * 60 * 1000); // convert to  milli secs

                })(jQuery);
但在Chrome中,并且仅在Chrome中,在我执行window.print()之后会调用此函数,即使它们立即取消打印对话框。这发生在WindowsXP和Mac上的最新Chrome上,而在IE8或Firefox上则没有


如何阻止这种情况发生?

考虑使用插件:或者甚至是普通的javascript->setTimeout()

没关系,在我们正在使用的插件中发现它是一个bug报告,在最新版本中得到了修复。

在继续之前,注销超时应该始终在服务器端完成,以保证安全性。如果它是在用户端完成的,那么总是有安全漏洞的空间。它在两个地方都完成了。空闲计时器只是意味着在他们对表单进行大量更改并点击提交之前,他们会看到“您已注销”屏幕。我会使用窗口焦点、模糊和文档鼠标移动,只需使用
window.location.href='logout.html'