2016-01-21 173 views
4

我使用以下我的网页上两个监听器当用户关闭在Chrome浏览器标签或窗口,但他们似乎并没有工作浏览器 - 检测浏览器关闭或标签接近

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

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

但是,以下函数检测窗口关闭或制表符关闭,但在刷新时也触发。有没有人有办法检测浏览器/标签关闭仅适用于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") 
}) 

但是,这些API不适用于普通网页,仅适用于扩展名。

+0

谢谢。就像你说的,apis不会与普通页面一起工作,如何检测浏览器关闭/ tab在Chrome中的关闭。你能否给我一些想法 – naga1990

+0

@ naga1990你不能做这个没有扩展。就这么简单。您网页上的JavaScript是沙盒式的,并且不知道其他选项卡 - 网络工作者之外。我认为唯一可行的方法是捕捉'onclose'事件,然后向Web工作人员发布消息。但是,这只适用于您有脚本的页面 - 所以您自己的页面或扩展。 –