我正在使用javascript窗口对象函数在运行应用程序的选项卡获得焦点时及时调用rails控制器



在测试此代码时,我发现它在Firefox浏览器中工作绝对正常,使用Firebug检查了它,但它不适用于chrome浏览器这是我的代码:

<script type="text/javascript">
     window.onfocus = startCheck;
        var dualLogin;
            function startCheck() {
            dualLogin = setInterval(function () {
                checkTable();
            }, 20000);
        }
        function checkTable() {
            $.ajax({
                url:"<%= url_for :controller => 'xyz',:action => 'abc'%>",
                cache:false,
                dataType:'json',
                success:function (data) {
                    if (data.status=='dual')
                    {
                        logout();
                    }
                }
            })
        }
        window.onblur = stopCheck;
        function stopCheck() {
            window.clearInterval(dualLogin);
        }
        function logout(){
            alert('you are to be logged out');
            window.location.replace("/registeration_page");
        }                                       
    </script>  

任何人都可以提前帮助感谢。

我创建了一个jsfiidle。看一看。单击结果框进行焦点,然后单击其他进行模糊。

最新更新