Javascript onbeforerequest重定向网址不起作用

时间:2017-03-22 21:01:12

标签: javascript redirect firefox-addon firefox-webextensions

我正在尝试创建一个Mozilla Firefox URL重定向插件,但是当我使用mozilla firefox页面上关于OnBeforeRequest url重定向的代码创建它时,插件没有用。所以我决定复制并粘贴Mozilla网站指南中的代码,看看我是否编写了错误的代码,但同样的事情发生了。它会正确取消请求,但每当我尝试使用redirectUrl选项重定向网址时,它都无法正常工作

我的代码如下:

的manifest.json

{

  "description": "Demonstrating webRequests",
  "manifest_version": 2,
  "name": "webRequest-demo",
  "version": "1.0",
  "applications": {
    "gecko": {
      "id": "@addontest"
    }
  },
  "permissions": [
    "webRequest", "webRequestBlocking"
  ],

  "background": {
    "scripts": ["main.js"]
  }

}

main.js

var pattern = "https://mdn.mozillademos.org/*";

function redirect(requestDetails) {
  console.log("Redirecting: " + requestDetails.url);
  return {
    redirectUrl: "https://38.media.tumblr.com/tumblr_ldbj01lZiP1qe0eclo1_500.gif"
    // cancel:true
  };
}

browser.webRequest.onBeforeRequest.addListener(
  redirect,
  {urls:[pattern], types:["image"]},
  ["blocking"]
);

main.js 中,如果我要注释掉

redirectUrl: "https://38.media.tumblr.com/tumblr_ldbj01lZiP1qe0eclo1_500.gif"

并取消注释以下行:

cancel:true

代码正常工作并且请求被取消,但只要我尝试重定向它,它就会停止工作。

有人可以帮忙吗?它已经困扰了我几天了,我似乎无法找到任何解决方法。 firefox控制台(CTRL + SHIFT + J)或firebug控制台中没有错误或任何错误

0 个答案:

没有答案