我的目標:當我點擊一個鏈接時,停止瀏覽器的所有請求和導航到該鏈接。從本質上講,如果我點擊鏈接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