jquery - Chrome扩展程序webrequest网络xhr异常

标签 jquery google-chrome-extension xmlhttprequest webrequest

我正在尝试编写一个 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 扩展加载的(通过开发者工具中的网络选项卡

问题:

回调不会被触发。可疑的是,原始请求仍处于“待处理”状态。

此扩展的目的是为某些请求放置一些 stub /模拟响应。我错过了什么吗?

最佳答案

我认为这可能是 Chrome 扩展程序的问题,我已将其报告为可能的错误:

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

关于jquery - Chrome扩展程序webrequest网络xhr异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11993329/

相关文章:

javascript - 将 CaptureVisibleTab 图像保存到临时文件以通过 Node.js 服务器发送

javascript - 使用 POST 请求但响应文本仍然不完整。为什么?

javascript - Ajax 在每个循环 Laravel 5.4 中添加按钮

javascript - 动画滚动第一次不工作

javascript - Chrome 扩展按钮弹出窗口

javascript - chrome.identity.getAuthToken 无法在 Chrome 扩展中获取 Token

Javascript:如何隐藏动态创建的div?

javascript - 在 Highchart 的刻度上应用自定义样式

javascript - 在 R/Shiny 中使用 Simple Webaudiorecorder.js 并将录音发布到服务器

javascript - 在 XMLHttpRequest 异步调用期间使用 location.href 导航