我正在编写一个简单的 chrome 插件,它会在页面卸载之前拦截新的 URL,如果它包含特定的字符串,我想执行一些操作并使重定向无效!我不知道该怎么做..你能帮我吗?
问问题
1110 次
3 回答
4
您可以使用API的onBeforeRequest
事件进行 Chrome 扩展:webRequest
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
// do some actions
// ...
return {cancel: true};
},
// block requests matching this url
{urls: ["*://www.evil.com/*"]},
["blocking"]
);
只需确保您在manifest.json
文件中具有正确的权限:
您必须在扩展清单中声明“webRequest”权限才能使用 Web 请求 API,以及您想要访问其网络请求的任何主机的主机权限。
"permissions": [
"webRequest",
"webRequestBlocking",
"*://*.google.com"
],
于 2013-05-18T13:18:48.737 回答
1
在窗口卸载之前触发了一个 javascript 事件:window.onbeforeunload
我知道这适用于 Firefox 和 IE,但我读过它并不总是适用于 Chrome。
但是,经过一番挖掘,这似乎在 Chrome 中有效:
$(window).on('beforeunload', function() {
return 'Your own message goes here...';
});
于 2013-05-18T13:05:55.323 回答
0
据我所知,这是不可能的。首先请求将转到服务器。然后服务器将决定重定向 url。(我正在使用 java)
于 2013-05-18T12:45:24.460 回答