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