Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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进行区分?_Javascript_Angularjs_Web - Fatal编程技术网

正在查看我的页面吗?如何使用角度或普通Javascript进行区分?

正在查看我的页面吗?如何使用角度或普通Javascript进行区分?,javascript,angularjs,web,Javascript,Angularjs,Web,简单问题: 是否有某种方法,使用角度或普通Javascript来判断我的网页是否正在被查看 我使用的API每月允许有限数量的调用。为了减少呼叫量,我想每分钟更新我的网页4次,但前提是此时正在查看网页 检查以下内容: angular.element($window).bind('focus', function() { // tab is active - sending request to API e.g. with setInterval }); 选中此项: angular.eleme

简单问题:

是否有某种方法,使用角度或普通Javascript来判断我的网页是否正在被查看

我使用的API每月允许有限数量的调用。为了减少呼叫量,我想每分钟更新我的网页4次,但前提是此时正在查看网页

检查以下内容:

angular.element($window).bind('focus', function() {
  // tab is active - sending request to API e.g. with setInterval
});
选中此项:

angular.element($window).bind('focus', function() {
  // tab is active - sending request to API e.g. with setInterval
});

通过收听
文档
对象上的事件,您可以知道是否正在查看您的应用程序(处于活动选项卡中)

例如:

document.addEventListener('visibilitychange', function(){
    if(document.hidden) {
        // your app is not being viewed (inactive tab)
    } else {
        // app is being viewed.. do necessary things
    }
})

编辑:某些浏览器可能具有
msHidden
/
webkitHidden
。您可以在此查看,通过收听
文档
对象上的事件,您可以知道是否正在查看您的应用程序(处于活动选项卡中)

例如:

document.addEventListener('visibilitychange', function(){
    if(document.hidden) {
        // your app is not being viewed (inactive tab)
    } else {
        // app is being viewed.. do necessary things
    }
})


编辑:某些浏览器可能具有
msHidden
/
webkitHidden
。你可以在这里查看,使用google analytics,有一个实时跟踪器。如果你使用JS每4分钟自动轮询一次API,那么JS脚本只有在有人查看页面时才会运行。如果页面上没有人,则不会执行JS。这就像薛定谔的猫,如果没有人观看这个网站,它真的存在吗?“杰克逊,如果我们考虑用户访问另一个标签的情况,不是吗?”Jackson我实际上查了一下,发现有一个事件知道它,被称为“代码> VistiBudieRechange < /代码>。你可以查看我的回答,使用谷歌分析,有一个实时跟踪。如果你使用JS每4分钟自动轮询一次API,那么JS脚本只有在有人查看页面时才会运行。如果页面上没有人,则不会执行JS。这就像薛定谔的猫,如果没有人观看这个网站,它真的存在吗?“杰克逊,如果我们考虑用户访问另一个标签的情况,不是吗?”Jackson我实际上查了一下,发现有一个事件知道它,被称为“代码> VistiBudieRechange < /代码>。您可以查看我的回答,说明这种糟糕的方法,DDoS本身?为什么是DDoS?可能是因为您试图在一段时间内向服务器发送请求?如果作者希望以4次/分钟的速度更新页面,他可以在15秒的时间间隔内发送请求,只有在页面处于活动状态时,所以DDOS没有问题。想想看,更大的+根本不需要产生不需要的流量。有一个简单的解决方案可以在不产生跟踪流量的情况下解决这个问题。.糟糕的方法,DDoS本身?为什么是DDoS?可能是因为您试图在一个间隔内向服务器发送请求?如果作者想以4次/分钟的速度更新页面,他可以在15秒的间隔内发送请求,只有在页面处于活动状态时,所以DDOS没有问题。想想看,更大的+根本不需要产生不需要的流量。有一个简单的解决方案可以在不产生跟踪流量的情况下解决这个问题。。