我想在javascript中创建一个浏览器特定的网页。
例如:
我可以在编码部分使用这样的代码
chrome.tab.onRemoved.addListener()
在我的网页上。
如果有可能请建议我。
答案 0 :(得分:12)
你到底想要实现什么?
如果您想知道何时关闭加载网页的标签页,那么window.onunload应该可以为您提供帮助。
如果您想知道其他网页何时关闭,则无法执行此操作。
<强>更新强>
您说您想知道用户何时关闭浏览器或选项卡。这是不可能的。
但是出于您的目的(获得反馈),我认为您需要的是区分用户是否导航到您页面中的链接,或者用户是否正在键入其他URL(或通过单击收藏夹)。
我认为,根据您的要求,用户是否关闭浏览器,或者他是否键入其他网址都是相同的 - 用户正在离开您的网站,当时您表示您想收集反馈。
这可以在javascript中完成。
对于您网页中的所有点击次数 可能会导致页面刷新 (超链接,按钮,......),设置一个标志 在
window.onunload
中,检查是否 此标志已设定 - 如果已设置,则 用户点击了您的链接 页面,什么都不做 - 如果标志不是 然后设置用户正在导航, 是时候收集反馈了。
请告诉我这是否有用。
PS:请注意,window.unload期间的弹出窗口/任何干扰可能非常烦人。 我知道这可能是给你的要求。但如果可能的话,尝试其他机制来收集用户的(自愿)反馈。
答案 1 :(得分:2)
不,您无法从网页访问特定于扩展程序的API。
答案 2 :(得分:2)
Navigator对象包含有关访问者浏览器的所有信息。
https://developer.mozilla.org/en-US/docs/Web/API/Window.navigator
我认为这几乎与在与特定浏览器交互方面的可能性有关。您无法访问其他选项卡(出于安全考虑)或告知选项卡何时关闭。
答案 3 :(得分:1)
您可以使用onbeforeunload事件:
<html>
<head>
<script>
var exit = 1;
function handleClose()
{
if (exit)
{
alert("Closing");
}
}
</script>
</head>
<body onbeforeunload="handleClose()">
<a href="test.html" onclick="exit=0">Navigate to other page</a>
</body>
</html>