问题
I would like to create a webpage with browser specific in javascript.
For example:
can I use code like this in my coding part
chrome.tab.onRemoved.addListener()
in my webpage.
If it is possible please suggest me.
回答1:
What exactly are you tring to acheive?
If you want to know when the tab in which your webpage is loaded is closed, then window.onunload should help you.
If you want to know when another webpage is closed, you cannot do this.
UPDATE:
You said that you want to know when the user closes the browser or tab. This is not possible.
But for your purpose (getting feedback), I think all you need is to differentiate whether the user is navigating to a link in your page, or whether the user is typing another URL(or by clicking a favorite).
I think for your requirement, whether the user closes the browser, or whether he types another URL, is the same - the user is navigating away from your site, and at that time you say you want to collect feedback.
This can be done in javascript.
For all the clicks in your page that might lead to a page refresh (hyperlinks, buttons,...), set a flag.
Inwindow.onunload
, check whether this flag is set.
- If it is set, then the user has clicked a link in your page, do nothing.
- If the flag is not set then the user is navigating away, time to collect feedback.
Let me know if this would work.
PS: Note that popups/any distractions during window.unload can be very annoying. I understand that this probably is the requirements given to you. But if possible, try other mechanisms to collect (voluntary) feedback from the user.
回答2:
No, you cannot access extension-specific APIs from webpages.
回答3:
The Navigator object contains all information about the visitor's browser.
https://developer.mozilla.org/en-US/docs/Web/API/Window.navigator
I think this is pretty much the extent of what is possible in terms of interacting with the specific browser. You can't access other tabs (for security reasons) or tell when a tab is closed.
回答4:
You can use use the onbeforeunload event:
<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>
来源:https://stackoverflow.com/questions/3735198/is-it-possible-to-add-a-browser-code-in-javascript