Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.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_Jquery - Fatal编程技术网

使用javascript检测浏览器选项卡切换/浏览器最小化

使用javascript检测浏览器选项卡切换/浏览器最小化,javascript,jquery,Javascript,Jquery,我正在尝试使用JavaScript编写自己版本的流行游戏,如扫雷舰、蛇等。有些游戏需要定时器,所以我想知道是否有可能检测到用户是否切换到另一个选项卡或最小化浏览器,以便我可以将游戏置于暂停模式?谢谢你的帮助 当窗口捕获onblur事件时,可以设置一个var <script> var has_blurred = 0; function meep() { has_blurred = 1; game.pause(); } window.onblur=meep; </s

我正在尝试使用JavaScript编写自己版本的流行游戏,如扫雷舰、蛇等。有些游戏需要定时器,所以我想知道是否有可能检测到用户是否切换到另一个选项卡或最小化浏览器,以便我可以将游戏置于暂停模式?谢谢你的帮助

当窗口捕获onblur事件时,可以设置一个var

<script>
var has_blurred = 0;
function meep()
{
    has_blurred = 1;
    game.pause();
}
window.onblur=meep;
</script>

var为0;
函数meep()
{
has_=1;
游戏暂停();
}
window.onblur=meep;
编辑添加焦点

随后,在同一窗口/选项卡中,您可以使用onfocus处理程序处理窗口/选项卡是否模糊的问题

<script>
function handleFocus()
{
    if( has_blurred )
        game.unpause();              
    has_blurred = 0; // reset has_blurred state
}
window.onfocus=handleFocus;
</script>

函数handleFocus()
{
如果(已模糊)
游戏。取消暂停();
has\u fuzzle=0;//重置has\u fuzzle状态
}
window.onfocus=handleFocus;

您可以使用此代码

$(document).ready(function(){
  $([window, document]).focusin(function(){
  //Your logic when the page gets active
   }).focusout(function(){
  //Your logic when the page gets inactive
 });
});

可能重复:感谢您的提及,它解释了如何检测最小化的浏览器,与标签切换无关,所以可能有人会在这里回答。如果没有,我将删除我的帖子。嗨,谢谢!这看起来很简单。像currenttab.onblur这样的东西呢?js有类似的功能吗?你只能检查你的标签是否模糊(除非其他标签来自同一个域)。如果其他选项卡来自同一域,则可以使用
window.opener.frames[要检查的选项卡的索引].has\u fuzzle
检查已知选项卡是否模糊。