谷歌浏览器有选项来禁用Flash和Java,只有在用户点击运行它们,如何创建扩展,将做到这一点?
Answer 1:
您可以实现使用此功能onBeforeRequest
事件中的webRequest
API 。 创建具有过滤器type: ['sub_frame']
和extraInfoSpec ['blocking']
然后,返回{cancel:true}
在事件侦听器。
小例子:
chrome.webRequest.onBeforeRequest.addListener(function(details) {
// Save the data in `details` for later use
// The data must be associated with the `tabId` and `frameId`, so that it
// can be used later
if (your_method_says_block_it())
return {cancel: true};
}, {
urls: ['*://*/*'],
types: ['sub_frame']
}, ['blocking']);
清单文件:
...
"permissions": ["webRequest", "webRequestBlocking", "*://*/*"]
...
- 该
webRequest
需要权限启用API。 - 所述
webRequestBlocking
需要权限以使请求处理同步的,以使函数来修改(取消)请求。 - 该
*://*/*
需要权限,允许访问的主机
Answer 2:
刚刚尝试的Adblock或禁用下镀铬所需的内容://设置/内容
文章来源: How to block iframes in Google Chrome Extension