0
我真的书面方式中,我要打开新的选项卡中messege的扩展名(不默认选项卡,但在本教程中http://xulforum.org/fosdem2012/presentation/template.html写在HTML标签一样)雷鸟openTab方法
我的问题是,我想要将参数传递给新打开的选项卡,但我没有找到任何有关在Internet上传递参数的信息。
有人可以帮我解决吗?
我真的书面方式中,我要打开新的选项卡中messege的扩展名(不默认选项卡,但在本教程中http://xulforum.org/fosdem2012/presentation/template.html写在HTML标签一样)雷鸟openTab方法
我的问题是,我想要将参数传递给新打开的选项卡,但我没有找到任何有关在Internet上传递参数的信息。
有人可以帮我解决吗?
你应该在你打开的标签的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;
}
(警告:这是Mozilla的特定的JavaScript)
非常感谢乔纳森。我已经尝试过类似的东西,但我使用“&”而不是“?”显然雷鸟有问题。 – user1476961