2016-12-05 3 views
0

Есть ли способ обнаружить предыдущие вкладки в Javascript? Я делаю расширение Chrome, в котором каждый раз, когда я меняю вкладку, она должна обнаруживать. Всякий раз, когда я иду или открываю новую вкладку, она обнаруживает, но когда я возвращаюсь к предыдущей вкладке, она не обнаруживается.Как обнаружить предыдущие или неактивные вкладки в расширении Chrome?

+0

Не могли бы вы предоставить дополнительную информацию? Что вы используете для обнаружения изменений вкладок? – Artholl

ответ

0

Это не совсем то, что вы просите, но, как мне кажется, он делает большую часть того, что вам нужно.

Он обнаруживает, когда окно фокусируется/размывается, поэтому, когда клиент нажимает на другое приложение, другую вкладку или нажимает на рабочий стол 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> 
Смежные вопросы