Определить, открыт ли URL-адрес — расширение Chrome

Есть ли способ определить, открыт ли определенный URL-адрес в Chrome и перенаправить на другую страницу. Мне нужно, чтобы сделать блокировщик сайта.


person Nathan Piercy    schedule 17.02.2012    source источник


Ответы (1)


Да, теперь вы можете это сделать в Chrome 17.

Добавьте фоновую страницу и разрешения webRequest в manifest.json:

{
  "background_page": "background.html",
  "permissions": [
    "webRequest", "webRequestBlocking",
    "http://www.mozilla.org/*"
  ]
}

и логика перенаправления на background.html:

<html><body>
<script>
chrome.webRequest.onBeforeRequest.addListener(
  function(details) {
    //console.log('before', details);
    if (details.url == "http://www.mozilla.org/") {
      return {redirectUrl: "https://www.google.com/chrome/"};
    };
  },
  {
    urls: ["http://www.mozilla.org/*"],
    types: ["main_frame"]
  },
  ["blocking"]
);
</script>
</body></html>
person anfilat    schedule 17.02.2012
comment
Подождите... Как мне поместить это в расширение для Chrome. Идет ли он в manifest.json или в основной html-скрипт. Извините, но я ничего не знаю об API Chrome.*. - person Nathan Piercy; 17.02.2012