我想进行扩展,这会阻止网站在进入网站时加载。然后,扩展程序将检查网站的URL是否在我的黑名单中。如果URL在我的黑名单中,那么我的扩展程序应弹出一个窗口,询问用户是否仍想查看该网站。如果网站不在我的黑名单中,则扩展程序应该开始加载网站。
我的问题是: 我只能通过点击扩展图标激活扩展程序,并且在点击图标之前经常完成网站的加载。
如何在不点击图标的情况下激活扩展程序?
答案 0 :(得分:1)
您可以使用webRequest
API,特别是RequestFilter
以下是文档中的示例:
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
return {cancel: details.url.indexOf("://www.evil.com/") != -1};
},
{urls: ["<all_urls>"]},
["blocking"]);
您需要将此代码放在后台脚本中,以便它正在侦听所有选项卡,并且如果网址与您的列表匹配,则需要在onBeforeRequest
方法中向当前选项卡中注入警报。您可以通过chrome async messaging api在后台页面和内容脚本/当前网页之间进行通信。