使用Google Chrome webRequest API进行简单转发

Mat*_*lly 6 google-chrome forwarding webrequest google-chrome-extension

我正在尝试创建Chrome扩展程序,以帮助我了解Chrome的webRequest API,方法是复制使用此答案所做的操作,但不使用命名空间的实验部分,因为webRequest现在位于Chrome的主干中,所以不再需要.

在我的后台页面中,我有代码:

<!DOCTYPE html>
<html>
  <head>
  <script>
function interceptRequest(request) {
    return { redirectUrl: 'http://www.yahoo.com' }
}
chrome.webRequest.onBeforeRequest.addListener(interceptRequest, { urls: ['*://*.google.com/*'] }, ['blocking']);
  </script>
  </head><body></body>
</html>
Run Code Online (Sandbox Code Playgroud)

在我的清单文件中,我有:

{
  "name": "My Extension",
  "version": "0.1",
  "background_page": "background.html",
  "permissions" : [
     "webRequest",
     "webRequestBlocking",
     "*://*/*"
  ]
}
Run Code Online (Sandbox Code Playgroud)

根据之前提出的问题,当我访问https://www.google.com并加载我的扩展程序时,我应该转发到http://www.yahoo.com,但是,https://www.google.com加载没有任何转发效果.为了简单地使用Chrome中的webRequest API将用户从一个URI转发到另一个URI,我需要做什么?

rgt*_*ree 3

您的网址匹配模式不正确。您只需添加尾部斜杠:

{urls: ['https://www.google.com/']}
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用: “*://www.google.com/”来匹配所有协议,“*://www.google.com/*”来匹配域之外的内容,以及“*://*” .google.com/*'匹配所有子域、协议和路径等。

请参阅: http: //code.google.com/chrome/extensions/trunk/match_patterns.html