在使用javascript或jquery卸载之前拦截URL

时间:2013-05-18 12:40:53

标签: javascript jquery url google-chrome-extension

我正在编写一个简单的chrome插件,在页面卸载之前拦截新的URL,如果它包含特定的字符串,我想做一些操作并使重定向无效!我不知道该怎么做..你能帮助我吗?

3 个答案:

答案 0 :(得分:3)

您可以使用webRequest API的onBeforeRequest事件进行Chrome扩展程序:

chrome.webRequest.onBeforeRequest.addListener(
    function(details) { 
        // do some actions
        // ...
        return {cancel: true}; 
    },
    // block requests matching this url
    {urls: ["*://www.evil.com/*"]},
    ["blocking"]
);

只需确保您在manifest.json文件中拥有正确的权限:

  

您必须在extension manifest中声明“webRequest”权限,以便为要访问其网络请求的所有主机使用Web请求API和host permissions

"permissions": [
    "webRequest",
    "webRequestBlocking",
    "*://*.google.com"
],

答案 1 :(得分:0)

据我所知,这是不可能的。首先请求将转到server.Then服务器将决定重定向url。(我正在使用java)

答案 2 :(得分:0)

在窗口卸载之前会触发一个javascript事件:window.onbeforeunload

我知道这适用于Firefox和IE,但我读过它在Chrome中并不总是有效。

但是,经过一些挖掘后,这似乎适用于Chrome:

$(window).on('beforeunload', function() {
  return 'Your own message goes here...';
});