0
有什么办法可以检测到以前的标签在Javascript中?我正在制作一款Chrome扩展程序,在该扩展程序中,每当我更改应检测到的选项卡每当我去或打开新标签,它会检测到,但当我回到前一个标签时,它不会检测到。如何检测Chrome扩展中的以前或非活动选项卡?
有什么办法可以检测到以前的标签在Javascript中?我正在制作一款Chrome扩展程序,在该扩展程序中,每当我更改应检测到的选项卡每当我去或打开新标签,它会检测到,但当我回到前一个标签时,它不会检测到。如何检测Chrome扩展中的以前或非活动选项卡?
这不完全符合您的要求,但我认为它确实能满足您的大部分需求。
它检测窗口何时被聚焦/模糊,所以当客户端点击另一个应用程序,其他选项卡或点击Windows桌面时,...这是模糊的。在您的网站中点击一次即被检测为焦点。
Losely在此基础上How can I detect when the mouse leaves the window?
满意吗?可能会添加一个addEvent(文档,“mouseover”,...)和addEvent(文档,“mouseout”,...),该组合可能会给你你需要的东西。
<html>
<head>
<script type="text/javascript">
// just a function to display a message
function displayMessage(msg) {
document.getElementById('message').innerHTML = msg;
}
function addEvent(obj, evt, fn) {
if (obj.addEventListener) {
obj.addEventListener(evt, fn, false);
}
else if (obj.attachEvent) {
obj.attachEvent("on" + evt, fn);
}
}
addEvent(window,"load",function(e) {
// activate window
addEvent(window, "focus", function(e) {
e = e ? e : window.event;
var from = e.relatedTarget || e.toElement;
if (!from || from.nodeName == "HTML") {
// stop your drag event here
displayMessage('focus');
}
});
// blur window
addEvent(window, "blur", function(e) {
e = e ? e : window.event;
var from = e.relatedTarget || e.toElement;
if (!from || from.nodeName == "HTML") {
// stop your drag event here
displayMessage('blur');
}
});
});
</script>
</head>
<body>
<div id="message"></div>
</body>
</html>
您能否添加更多信息?你用什么来检测标签变化? – Artholl