我的目标:当我点击一个链接时,停止浏览器的所有请求和导航到该链接。从本质上讲,如果我点击链接http://tabbit.org/about,什么都不会发生。没有请求,没有导航,什么都没有。在Chrome浏览器中停止导航(谷歌浏览器扩展)
我在停止与“onBeforeRequest”监听请求全成,但是浏览器仍然尝试导航到HREF的价值,给我一个页面,说:“这个网页被拦截的扩展名”
我试过的东西
var navigate = true;
var url = "http://tabbit.org/about"
/*
* Will prevent headers from being sent. Browser will still
* try to navigate to the clicked link, though.
*/
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
navigate = false;
return {cancel: true} ;
},
// filters
{urls: [url]},
["blocking"]
);
// Somewhere in here is where I think navigation needs to be stopped.
chrome.webNavigation.onBeforeNavigate.addListener(
function(details) {
if (navigate == false) {
return false; // doesn't work.
//return {cancel: true}; // doesn't work.
};
},
{urls: [url]},
["blocking"]
)
我不想使用内容脚本,因为我也想为表单做这件事。 所以基本上,如果一个HTTP请求是对某个URL,GET或POST,我想没有任何事情发生。
我浏览过SO(和网页)的解决方案,但没有骰子。
你尝试重定向到'onBeforeRequest'一个204页? – rsanchez