используя chrome.experimental.webRequest API для изменения загруженного файла? - PullRequest
3 голосов
/ 23 июня 2011

Я пытаюсь использовать webRequest API для изменения загруженного файла .swf на веб-странице ... Страница загружает файл с именем chat.swf, но я хочу перенаправить на chat2.swf в том же каталоге, чтобы используйте другой файл. Мне сказали, что это может сработать, но я понятия не имею, как правильно использовать этот API, и я не могу найти никаких примеров @ _ @

function incerceptChat(chat){
    console.log( "onBeforeRequest", details );
        if(chat.url == swf1){
            chat = swf2;
        }
}

это моя функция, которая должна изменять URL, но я не смог заставить его работать (возможно, неправильный синтаксис где-то ...), и я использую это для прослушивания:

chrome.experimental.webRequest.onBeforeRequrest.addListener(interceptChat, {"redirectUrl": chat});

1 Ответ

5 голосов
/ 24 июня 2011

Это основы того, как перенаправить определенный URL.

function interceptRequest(request) {
  console.log('onBeforeRequest ', request.url);
  if (request && request.url && request.url === 'http://example.org/') {
    return { redirectUrl: 'http://www.google.com' }
  }
}
chrome.experimental.webRequest.onBeforeRequest.addListener(interceptRequest, null, ['blocking']);

Вы также можете заменить null на объект, который еще больше ограничивает сопоставление URL, поскольку Chrome будет более производительным, чем JSЭто.Будьте осторожны, чтобы не быть слишком жадным в том, что вы перенаправляете, поскольку это может вызвать проблемы с общим просмотром веб-страниц.

function interceptRequest(request) {
  return { redirectUrl: 'http://example.com/chat2.swf' }
}
chrome.experimental.webRequest.onBeforeRequest.addListener(interceptRequest, { urls: ['http://example.com/swf'] }, ['blocking']);
...