Как создать расширение Chrome, которое перенаправляет на определенную ссылку автоматически? - PullRequest
5 голосов
/ 22 мая 2011

Здравствуйте, я хочу создать расширение Chrome, чтобы, когда пользователь находится на странице example1.com, он автоматически перенаправлялся на example2.com даже до загрузки страницы.это должно работать независимо от того, печатает ли пользователь в URL или переходит по ссылке.

Пожалуйста, помогите мне в этом!

Спасибо.

Ответы [ 3 ]

4 голосов
/ 23 мая 2011

На фоновой странице:

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
    if(tab.url.indexOf("http://example1.com") == 0 && changeInfo.status == "loading") {
        chrome.tabs.update(tabId, {url: "http://example2.com"});
    }
});
1 голос
/ 07 мая 2016

Вы можете использовать API Chrome webRequest для перенаправления вашего запроса, когда он соответствует определенному URL.Вот пример кода:

chrome.webRequest.onBeforeRequest.addListener(
  modifyUrl, { urls: ['http://example.com/'] }, ['blocking']
);

modifyUrl: function(details) {
  if (details.url === 'http://example.com/') {
    return { redirect: 'http://www.requestly.in/' }
  }
}

Вот некоторые подробности об использовании метода onBeforeRequest:

  1. first arugument, это ваш обработчик обратного вызова, который вызывается всякий раз, когда запросперехватывается, что соответствует вашим шаблонам URL-адресов, указанным в качестве второго аргумента

  2. второй аргумент, набор шаблонов URL-адресов или шаблонов URL-адресов или регулярное выражение, которое указывает Chrome перехватывать эти URL-адреса

  3. третий аргумент, requestOptions, который может быть blocking или requestBody.

Вы можете прочитать об API WebRequest здесь

ПростоЕсли вы ищете уже готовое решение, которое может помочь вам, вы можете проверить Requestly , которое сделает то же самое для вас.Он даже позволяет вам сопоставить ваш URL с тремя операторами

  • Равно: Строгое соответствие
  • Содержит: Укажите любую строку, которая входит в URL
  • Соответствует: на основе JSрегулярное выражение, которое соответствует чему-то в URL

Посмотрите на этот снимок экрана для лучшего понимания.

enter image description here

Надеюсь, это поможет!!

0 голосов
/ 23 мая 2011

Вам не нужно расширение для этого. Просто перенаправьте example1.com на IP-адрес example2.com, затем создайте виртуальный хост на сервере example2, который обратит прокси-запросы к живому хосту.

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