2

特定のリクエストを別のリクエストにルーティングする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!
}

症状:

  • 拡張コードのconsole.logがトリガーされるのがわかります
  • 実際のファイルはChrome拡張機能を介して(開発者ツールのネットワークタブを介して)ロードされることがわかります

問題:

コールバックはトリガーされません。疑わしいことに、元のリクエストは「保留中」のステータスのままです。

この拡張機能のポイントは、特定の要求に対していくつかのスタブ/モック応答を配置することです。私は何かが足りないのですか?

4

1 に答える 1

1

これはChrome拡張機能の問題である可能性があると思います。ここで、バグの可能性があることを報告しました。

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

于 2012-09-12T01:05:21.870 に答える