繁体   English   中英

如何在Chrome扩展程序中检测以前的或无效的标签页?

[英]How to detect previous or inactive tabs in Chrome extension?

有什么方法可以检测Javascript中的先前标签吗? 我正在制作一个Chrome扩展程序,无论何时更改选项卡,它都应该在其中检测到。 每当我转到或打开新选项卡时,它都会检测到,但是当我返回上一个选项卡时,它不会检测到。

我认为这并不是您所要的,但它可以满足您的大部分需求。

它检测到窗口何时变得集中/模糊,因此当客户端单击另一个应用程序,其他选项卡或单击Windows桌面时,这是模糊的。 您网站上的一键单击被检测为焦点。

以此为依据, 我如何才能检测到鼠标何时离开窗口?

对此满意吗?

也许添加一个addEvent(document,“ mouseover”,...)和addEvent(document,“ 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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM