Я пытаюсь отменить запросы от studio.code.org на www.google.com/jsapi, чтобы помочь странице быстрее загружаться go. В моем регионе Google заблокирован, но браузер ждет 75 секунд, прежде чем сдаться. Я хотел бы предотвратить задержку, заблокировав запрос (и страница, кажется, работает нормально без jsapi).
Я следовал примеру с https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/onBeforeRequest, установил аддон. Я включил оператор console.log, чтобы увидеть, что мой код вызывается, но он появляется только после того, как браузер подождет еще 75 секунд, пытаясь загрузить ресурс, который я надеялся заблокировать.
Я открыт для других подходит, если это не сработает.
манифест. json:
{
"manifest_version": 2,
"name": "cancel-google",
"version": "1.0",
"permissions": [
"webRequest",
"webRequestBlocking"
],
"content_scripts": [
{
"matches": ["https://studio.code.org/*"],
"js": ["cancel-google.js"]
}
]
}
cancel-google. js:
// match pattern for the URLs to block
var pattern = "*www.google.com/jsapi";
console.log("cancelator script loaded");
// cancel function returns an object
// which contains a property `cancel` set to `true`
function cancel(requestDetails) {
console.log("Cancelling: " + requestDetails.url);
return {cancel: true};
}
// add the listener,
// passing the filter argument and "blocking"
browser.webRequest.onBeforeRequest.addListener(
cancel,
{urls: [pattern]},
["blocking"]
);