2016-01-21 5 views
4

Я использую следующие два слушателя на моей странице, когда пользователь закрывает вкладку или окно в хроме, но они, кажется, не работаютChrome - Обнаружить браузер закрыть или вкладку близко

chrome.tabs.onRemoved.addListener(function (integer tabId, object removeInfo) {alert("Haooooo")}); 

chrome.windows.onRemoved.addListener(function (integer windowId) {alert("Haooooo")}); 

Но, следующее функция обнаруживает закрытие окна или закрытие вкладки, но также запускается при обновлении. У кого-нибудь есть способ обнаружить браузер/вкладку только для Chrome. Я не ищу, чтобы это работало в любом другом браузере. Ищете решение только в chrome

window.addEventListener("beforeunload", function (e) {   
      var confirmationMessage = "See you later" ; 
      (e || window.event).returnValue = confirmationMessage; 
      return confirmationMessage; 
} 
); 
+0

Подождите, вы делаете расширение или нет? – Xan

ответ

4

Ваш синтаксис недействителен. Это должно быть

chrome.tabs.onRemoved.addListener(function(tabid, removed) { 
alert("tab closed") 
}) 

chrome.windows.onRemoved.addListener(function(windowid) { 
alert("window closed") 
}) 

Однако эти apis не будут работать на обычных веб-страницах, только в расширениях.

+0

спасибо. Как вы сказали, apis не работает с обычными страницами, как обнаружить закрытие браузера/вкладку в Chrome. Не могли бы вы дать некоторую идею – naga1990

+0

@ naga1990, вы не можете сделать это, не делая расширения. Это так просто. JavaScript на вашей странице изолирован и не знает других вкладок - за пределами веб-работников. Единственный способ, с помощью которого я могу думать, что может работать, - это поймать событие onclose, а затем отправить сообщение веб-работнику. Но это будет работать только на страницах, на которых был скрипт, - так что ваши собственные страницы или расширение. –

Смежные вопросы