繁体   English   中英

Chrome扩展程序重定向到带参数的网址

[英]Chrome Extension to Redirect to URL with Parameter

我正在尝试创建Chrome扩展程序,如果网址与给定模式( *://*.mydomain.com/s/* )匹配,则会在网址末尾添加参数。 下面是我的清单文件和后台脚本,但我无法使其正常工作。 我究竟做错了什么?

manifest.json的:

{
  "manifest_version": 2,
  "name": "Search Grid View",
  "version": "0.1",
  "description": "Changes MyDomain.com search to grid view by default",

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

  "permissions": [
    "tabs",
    "webRequest",
    "*://*.mydomain.com/s/*",
    "webRequestBlocking"
  ]

}

background.js:

chrome.webRequest.onBeforeRequest.addListener(
  function(details) {         
    var currentUrl = tabs[0].url;
    var newUrl = currentUrl + "&style=gridview"
    return { redirectUrl: newUrl};
  },
  {
    urls: [
      '*://*.mydomain.com/s/*'
    ],
    types: ['main_frame']
  },
  ['blocking']);

提前感谢任何建议!

  1. 使用调试器 - 在chrome:// extensions页面上单击您的扩展程序的background page ,然后切换到“ Sources面板。
  2. 要获取url,请使用onBeforeRequest的回调参数
  3. 检查网址是否已被修改。

chrome.webRequest.onBeforeRequest.addListener(
    function(details) {
        return {
            redirectUrl: details.url + 
                (details.url.indexOf("?") == -1 ? "?" : "") +
                (details.url.indexOf("&style=gridview") == -1 ? "&style=gridview" : "")
        };
    },
    {urls: ['*://*.mydomain.com/s/*'], types: ['main_frame']},
    ['blocking']
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM