Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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 主动窗口检测 我检查当前的选项卡/窗口是否聚焦或不执行某些特定的任务。下面的函数在切换标签时正确地检测焦点,但是当选项卡打开时,我打开一个软件(音乐播放器/ Windows文件夹)使选项卡活跃/打开,函数仍然认为窗口/选项卡为焦点。我试图实现的情况是检测到窗口/选项卡由于在当前聚焦的窗口/选项卡上打开应用程序/软件而失去焦点。如果您根据我的代码提供一个带有答案的JSFIDLE,那就太好了 $(document).ready(function() { var hidden, change, vis = { hidden: "visibilitychange", mozHidden: "mozvisibilitychange", webkitHidden: "webkitvisibilitychange", msHidden: "msvisibilitychange", oHidden: "ovisibilitychange" /* not currently supported */ }; for (hidden in vis) { if (vis.hasOwnProperty(hidden) && hidden in document) { change = vis[hidden]; break; } } if (change) document.addEventListener(change, onchange); else if (/*@cc_on!@*/false) // IE 9 and lower document.onfocusin = document.onfocusout = onchange else window.onfocus = window.onblur = onchange; function onchange (evt) { evt = evt || window.event; if (evt.type == "focus" || evt.type == "focusin") window_focus = true; else if (evt.type == "blur" || evt.type == "focusout") window_focus = false; else window_focus = this[hidden] ? false : true; } });_Javascript_Jquery_Tabs - Fatal编程技术网

Javascript 主动窗口检测 我检查当前的选项卡/窗口是否聚焦或不执行某些特定的任务。下面的函数在切换标签时正确地检测焦点,但是当选项卡打开时,我打开一个软件(音乐播放器/ Windows文件夹)使选项卡活跃/打开,函数仍然认为窗口/选项卡为焦点。我试图实现的情况是检测到窗口/选项卡由于在当前聚焦的窗口/选项卡上打开应用程序/软件而失去焦点。如果您根据我的代码提供一个带有答案的JSFIDLE,那就太好了 $(document).ready(function() { var hidden, change, vis = { hidden: "visibilitychange", mozHidden: "mozvisibilitychange", webkitHidden: "webkitvisibilitychange", msHidden: "msvisibilitychange", oHidden: "ovisibilitychange" /* not currently supported */ }; for (hidden in vis) { if (vis.hasOwnProperty(hidden) && hidden in document) { change = vis[hidden]; break; } } if (change) document.addEventListener(change, onchange); else if (/*@cc_on!@*/false) // IE 9 and lower document.onfocusin = document.onfocusout = onchange else window.onfocus = window.onblur = onchange; function onchange (evt) { evt = evt || window.event; if (evt.type == "focus" || evt.type == "focusin") window_focus = true; else if (evt.type == "blur" || evt.type == "focusout") window_focus = false; else window_focus = this[hidden] ? false : true; } });

Javascript 主动窗口检测 我检查当前的选项卡/窗口是否聚焦或不执行某些特定的任务。下面的函数在切换标签时正确地检测焦点,但是当选项卡打开时,我打开一个软件(音乐播放器/ Windows文件夹)使选项卡活跃/打开,函数仍然认为窗口/选项卡为焦点。我试图实现的情况是检测到窗口/选项卡由于在当前聚焦的窗口/选项卡上打开应用程序/软件而失去焦点。如果您根据我的代码提供一个带有答案的JSFIDLE,那就太好了 $(document).ready(function() { var hidden, change, vis = { hidden: "visibilitychange", mozHidden: "mozvisibilitychange", webkitHidden: "webkitvisibilitychange", msHidden: "msvisibilitychange", oHidden: "ovisibilitychange" /* not currently supported */ }; for (hidden in vis) { if (vis.hasOwnProperty(hidden) && hidden in document) { change = vis[hidden]; break; } } if (change) document.addEventListener(change, onchange); else if (/*@cc_on!@*/false) // IE 9 and lower document.onfocusin = document.onfocusout = onchange else window.onfocus = window.onblur = onchange; function onchange (evt) { evt = evt || window.event; if (evt.type == "focus" || evt.type == "focusin") window_focus = true; else if (evt.type == "blur" || evt.type == "focusout") window_focus = false; else window_focus = this[hidden] ? false : true; } });,javascript,jquery,tabs,Javascript,Jquery,Tabs,框架: <frameset rows="130,*" style="border: 1px #CC3333" noresize="noresize" "> <frame name="showcountframe" src="https://jsfiddle.net/nvobhaor/1/" scrolling=no marginheight="2" marginwidth="2" noresize="noresize"> <frame name="showcon

框架:

<frameset rows="130,*" style="border: 1px #CC3333"  noresize="noresize" ">
<frame name="showcountframe" src="https://jsfiddle.net/nvobhaor/1/" scrolling=no marginheight="2" marginwidth="2"  noresize="noresize">
<frame name="showcontframe" src="showcontframe.html" marginheight="0" marginwidth="0" noresize="noresize">
</frameset><noframes></noframes>

您可以使用
window.onfocus
window.onblur
来实现此目的,而不是使用代码墙。它受到所有主要浏览器的支持,可以完美地满足您的需要。例如,它会检测您何时更改选项卡,或如您所说打开另一个应用程序

示例:

window.onfocus = function() {
    console.log('Focused');
};

window.onblur = function() {
    console.log('Not focused');
};

这就是
visibilitychange
事件的工作原理。提交错误或实施建议。到目前为止,我能想到的唯一一件事就是在
文档时检查是否空闲。隐藏的
是错误的浏览器兼容性是什么?它应该在任何地方都能工作。(在上确认并在上看到)如果我想将此代码与我的代码合并,该怎么办?如果(evt.type==“onblur”)窗口_focus=false;,是否应该像这样添加?您可以简单地使用我上面发布的代码,使用
window\u focus=true而不是
console.log('Focused')
窗口焦点=假而不是
console.log('notfocused')单独工作!但与我的代码合并时不工作!