Расширение Chrome webrequest network XHR исключение


Я пытаюсь написать расширение chrome, которое перенаправляет определенные запросы другому. Я нашел пару ресурсов о том, как это сделать, и я получил его половину работы. Вот код расширения:

var requestRoutingTable = { 
    'some/url/i/want/to/catch' : 'libs/TVKeyValue.js'
};
chrome.webRequest.onBeforeRequest.addListener(function(details){
    for (var key in requestRoutingTable){
        if (details.url.indexOf(key) != -1){
            console.log('redirecting to: ' + chrome.extension.getURL(requestRoutingTable[key]));
            return {redirectUrl: chrome.extension.getURL(requestRoutingTable[key])};
        }   
    }   
}, {urls: ["<all_urls>"]}, ["blocking"]);

Чтобы проверить, работает ли это, я написал следующее в jQuery и загрузил расширение:

$.getScript('some/url/i/want/to/catch', function(script, textStatus, jqXHR){
    // this doesn't get here!
}

Симптомы:

  • я вижу, что консоль.лог из кода расширения получает срабатывание
  • я вижу, что фактический файл загружается через расширение chrome (через вкладку Сеть в инструментах разработчика

Задачи:

Обратный вызов не срабатывает. Подозрительно, что исходный запрос остается в состоянии "ожидание".

Смысл этого расширения заключается в размещении некоторых заглушек / фиктивных ответов на определенные запросы. Я что-то упустил?

1 2

1 ответ:

Я считаю, что это может быть проблема с расширениями Chrome, я сообщил об этом как о возможной ошибке здесь:

Http://code.google.com/p/chromium/issues/detail?id=145074