Javascript 雷鸟openTab方法

Javascript 雷鸟openTab方法,javascript,thunderbird-addon,Javascript,Thunderbird Addon,我正在编写一个扩展,我想在新选项卡(不是默认选项卡,而是像本教程中那样用HTML编写的选项卡)中打开一个消息集 我的问题是,我想把一个参数传递给新打开的标签,但我没有找到任何关于在互联网上传递参数的信息 有人能帮我吗?你应该在打开的标签的URL中传递你的参数,这绝对是最简单的方法 openTab("chromeTab", { chromePage: "chrome://yourext/content/foo.html?foo=bar" }); 下面是一个例程,您可以使用它轻松地将当前URI的参

我正在编写一个扩展,我想在新选项卡(不是默认选项卡,而是像本教程中那样用HTML编写的选项卡)中打开一个消息集

我的问题是,我想把一个参数传递给新打开的标签,但我没有找到任何关于在互联网上传递参数的信息


有人能帮我吗?

你应该在打开的标签的URL中传递你的参数,这绝对是最简单的方法

openTab("chromeTab", { chromePage: "chrome://yourext/content/foo.html?foo=bar" });
下面是一个例程,您可以使用它轻松地将当前URI的参数映射到javascript字典:

/**
 * Takes the <b>entire</b> query string and returns an object whose keys are the
 * parameter names and values are corresponding values.
 * @param aStr The entire query string
 * @return An object that holds the decoded data
 */
function decodeUrlParameters(aStr) {
  let params = {};
  let i = aStr.indexOf("?");
  if (i >= 0) {
    let query = aStr.substring(i+1, aStr.length);
    let keyVals = query.split("&");
    for each (let [, keyVal] in Iterator(keyVals)) {
      let [key, val] = keyVal.split("=");
      val = decodeURIComponent(val);
      params[key] = val;
    }
  }
  return params;
}
/**
*获取整个查询字符串并返回其键为
*参数名称和值是对应的值。
*@param aStr整个查询字符串
*@返回保存解码数据的对象
*/
函数参数(aStr){
设params={};
设i=aStr.indexOf(“?”);
如果(i>=0){
设query=aStr.substring(i+1,aStr.length);
设keyVals=query.split(&);
对于每个(迭代器中的let[,keyVal](keyVals)){
让[key,val]=keyVal.split(“=”);
val=解码元件(val);
参数[key]=val;
}
}
返回参数;
}

(警告:这是特定于mozilla的javascript)

非常感谢您。我已经尝试过类似的东西,但我用了“&”而不是“?”,显然雷鸟有问题。