1

谷歌浏览器可以选择禁用 flash 和 java 并且只在用户点击时运行它们,如何创建可以做到这一点的扩展程序?

4

2 回答 2

7

您可以使用API的onBeforeRequest事件来实现此功能。使用和 extraInfoSpec创建一个过滤器。然后,在事件监听器中返回。webRequesttype: ['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 回答