次のコードは期待どおりに機能します(すべてのHTTPリクエストがキャンセルされます)。
session.webRequest.onBeforeRequest({
urls: ['http://*/*']
}, (details, cb) => {
cb({cancel: true})
})
ただし、 redirectUrl
が指定されている場合でも、リクエストはキャンセルされてリダイレクトされるのではなく、送信されます。
session.webRequest.onBeforeRequest({
urls: ['http://*/*']
}, (details, cb) => {
cb({redirectUrl: 'https://example.com'})
})
私は電子で構築された0.36.3を使用しています
タイプミスがあります。 redirectURL
である必要があります。 それ以外の場合は再現できません。
session.webRequest.onBeforeRequest({
urls: ['http://*/*']
}, (details, cb) => {
cb({redirectURL: 'https://example.com'})
})
:facepalm:
そうです、解決してくれてありがとう。
FWIW、私の混乱の原因は、元のWebRequest API(https://developer.chrome.com/extensions/webRequest)がredirectUrl
代わりにredirectURL
redirectUrl
使用していることredirectURL
。 これにより、Chrome拡張機能をElectronに移植しようとしている他の開発者がつまずく可能性があります。
最も参考になるコメント
FWIW、私の混乱の原因は、元のWebRequest API(https://developer.chrome.com/extensions/webRequest)が
redirectUrl
代わりにredirectURL
redirectUrl
使用していることredirectURL
。 これにより、Chrome拡張機能をElectronに移植しようとしている他の開発者がつまずく可能性があります。