拦截来自侧边栏面板的请求
Intercept requests going from the sidebar panel
Firefox 允许我们在使用 webRequest.RequestFilter
拦截请求之前将 tabId
、urls
等过滤器应用于请求
到目前为止一切顺利。问题是这段代码
browser.sidebarAction.setPanel({
panel: 'https://google.com'
});
这里我们请求一个将加载到侧边栏的网页(我只想拦截该请求)
如您所见,似乎没有办法只过滤 sidebars
' 请求,因为即使 tabId
也会 return 与“父”选项卡具有相同的 ID
是否真的可以只拦截来自侧边栏面板的请求?
我们可以通过将 tabId
设置为 -1
来过滤与选项卡无关的请求
browser.webRequest.onBeforeSendHeaders.addListener(
listener,
{
urls: ["<all_urls>"],
tabId: -1
},
["blocking", "requestHeaders"]
);
这现在符合我们侧边栏的要求
Firefox 允许我们在使用 webRequest.RequestFilter
拦截请求之前将tabId
、urls
等过滤器应用于请求
到目前为止一切顺利。问题是这段代码
browser.sidebarAction.setPanel({
panel: 'https://google.com'
});
这里我们请求一个将加载到侧边栏的网页(我只想拦截该请求)
如您所见,似乎没有办法只过滤 sidebars
' 请求,因为即使 tabId
也会 return 与“父”选项卡具有相同的 ID
是否真的可以只拦截来自侧边栏面板的请求?
我们可以通过将 tabId
设置为 -1
browser.webRequest.onBeforeSendHeaders.addListener(
listener,
{
urls: ["<all_urls>"],
tabId: -1
},
["blocking", "requestHeaders"]
);
这现在符合我们侧边栏的要求