Моя цель: когда я нажимаю ссылку, остановите все запросы и, браузер перейдет на эту ссылку. По сути, если бы я нажал на ссылку http://tabbit.org/about, ничего не произошло бы. нет запросов, нет навигации, ничего.Остановка навигации в Chrome (расширение google 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 (и сеть) для решения, но не кубик.
Пробовали ли вы перенаправление на 204 страниц в 'onBeforeRequest'? – rsanchez