是否可以在javascript中添加浏览器代码

时间:2010-09-17 12:13:28

标签: javascript cross-browser

我想在javascript中创建一个浏览器特定的网页。

例如:

我可以在编码部分使用这样的代码

chrome.tab.onRemoved.addListener()在我的网页上。

如果有可能请建议我。

4 个答案:

答案 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>