下面的Chrome扩展javascript代码片段是如何工作的?

下面的Chrome扩展javascript代码片段是如何工作的?,javascript,google-chrome,webrequest,Javascript,Google Chrome,Webrequest,我没有得到{url:[“://www.mysite.com/.js”]}, [“封锁]);部分由于stackoverflow规则,只需稍微(强制)将mysite(dot)com修改为example.com,就可以在@找到这段代码 chrome.webRequest.onBeforeRequest.addListener( 功能(详情){ 如果(details.url==”http://www.example.com/js/library.js" ) 返回{重定向URL:“http://www.

我没有得到{url:[“://www.mysite.com/.js”]}, [“封锁]);部分由于stackoverflow规则,只需稍微(强制)将mysite(dot)com修改为example.com,就可以在@找到这段代码

chrome.webRequest.onBeforeRequest.addListener(
功能(详情){
如果(details.url==”http://www.example.com/js/library.js" )
返回{重定向URL:“http://www.example.com/js/library_dev.js" };
},
{URL:[“*://www.example.com/*.js”]},

[“封锁])
onBeforeRequest.addEventListener的第二个参数是可选的requestFilter对象

它还有四个附加属性

  • URL(可选字符串数组)
    • 每个元素都是一个URL或URL模式。有关URL模式定义,请参阅内容脚本匹配模式。将筛选出与任何URL都不匹配的请求
  • 类型(可选字符串数组)
    • 每个元素都是上述请求类型。将筛选出与任何类型都不匹配的请求
  • tabId(可选整数)
    • 发生请求的选项卡的ID
  • 窗口ID(可选整数)
    • 发生请求的窗口的ID
因此,
URL:[“*://www.example.com/*.js”]}
正在向onBeforeRequest侦听器添加URL筛选器

这是试图匹配www.example.com域上javascript文件的任何请求。使用http或https

[(方案)*]:\\[(主机)www.example.com]/[(路径)*.js]

<url-pattern> := <scheme>://<host><path>
<scheme> := '*' | 'http' | 'https' | 'file' | 'ftp'
<host> := '*' | '*.' <any char except '/' and '*'>+
<path> := '/' <any chars>
:=://
:=“*”|“http”|“https”|“文件”|“ftp”
:='*'|'*.'


第三个参数
['blocking']
是用于额外信息的可选字符串数组。这将修改Chrome返回回调的方式

因为它包含“阻塞”,所以回调函数是同步处理的。这意味着在回调函数返回之前,请求将被阻止。因此,对于onBeforeRequest,您可以使用它在请求发生之前取消或重定向请求

更多信息请访问: