Простая пересылка с помощью API Google Chrome webRequest - PullRequest
6 голосов
/ 12 января 2012

Я пытаюсь создать расширение Chrome, чтобы помочь мне понять API-интерфейс webRequest Chrome, реплицируя то, что делается с этим ответом , но без экспериментальной части пространства имен, которой нет больше не требуется, поскольку 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>

В моем файле манифеста у меня есть:

{
  "name": "My Extension",
  "version": "0.1",
  "background_page": "background.html",
  "permissions" : [
     "webRequest",
     "webRequestBlocking",
     "*://*/*"
  ]
}

Исходя из ранее заданного вопроса, я должен быть перенаправлен на http://www.yahoo.com, когда я получаю доступ к https://www.google.com, и мое расширение загружается, однако https://www.google.com загружается без какого-либо эффекта пересылки. Что мне нужно сделать, чтобы просто перенаправить пользователя с одного URI на другой, используя API-интерфейс webRequest в Chrome?

1 Ответ

3 голосов
/ 13 января 2012

Ваш шаблон соответствия URL неверен.Вам просто нужно добавить косую черту:

{urls: ['https://www.google.com/']}

В качестве альтернативы вы можете использовать: '*: //www.google.com/' для соответствия всем протоколам '*: //www.google.com/*' для сопоставления за пределами домена и ' *: //*.google.com/*' для сопоставления всех поддоменов, протоколов ипути и т. д.

См .: http://code.google.com/chrome/extensions/trunk/match_patterns.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...