谷歌浏览器可以选择禁用 flash 和 java 并且只在用户点击时运行它们,如何创建可以做到这一点的扩展程序?
问问题
5583 次
2 回答
7
您可以使用API的onBeforeRequest
事件来实现此功能。使用和 extraInfoSpec创建一个过滤器。然后,在事件监听器中返回。webRequest
type: ['sub_frame']
['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
权限才能使请求处理同步,以启用修改(取消)请求的功能。 - 需要
*://*/*
权限才能允许访问主机
于 2012-08-28T15:07:48.427 回答
0
只需尝试 adblock 或禁用 chrome://settings/content 下所需的内容
于 2013-01-16T22:29:00.900 回答