通过webRequest API重写重定向

时间:2020-01-22 21:37:37

标签: javascript firefox-addon firefox-webextensions

我知道您可以按以下步骤拦截但不能更改/阻止所有重定向:

browser.webRequest.onBeforeRedirect.addListener(function (responseDetails) {
    console.log(`From ${responseDetails.originUrl} to ${responseDetails.redirectUrl}`);
}, {
    urls: ['*://*/*'],
    types: ['main_frame']
});

可以使用browser.webRequest.onHeadersReceived回调来更改基于HTTP的重定向,该回调搜索Location标头并重写该值。但这仍然留下了基于JavaScript的重定向(window.location)和基于<meta>的重定向(http-equiv="refresh"),两者都没有通过。

如何通过扩展重写所有三种重定向类型?最终目的是通过通过静态HTML页面来显示发生域切换的重定向的确认提示。

0 个答案:

没有答案
相关问题