【发布时间】:2011-12-26 22:52:18
【问题描述】:
如何在 Firefox 插件中打开带有自定义引荐来源的选项卡?
我猜是这样的:
tab.addProperty("referer", "http://mywebsite.com/");
【问题讨论】:
标签: firefox tabs firefox-addon http-referer firefox-addon-sdk
如何在 Firefox 插件中打开带有自定义引荐来源的选项卡?
我猜是这样的:
tab.addProperty("referer", "http://mywebsite.com/");
【问题讨论】:
标签: firefox tabs firefox-addon http-referer firefox-addon-sdk
您不能将引荐来源网址“添加”到已打开的选项卡中,需要在打开选项卡时指定引荐来源网址。您为此使用gBrowser.addTab() method:
gBrowser.addTab("http://example.com/", {referrerURI: "http://referrer.com/"});
gBrowser 是浏览器窗口中的全局变量。如果没有浏览器窗口,可以使用nsIWindowMediator.getMostRecentWindow():
var windowMediator = Components.classes["@mozilla.org/appshell/window-mediator;1"]
.getService(Components.interfaces.nsIWindowMediator);
var window = windowMediator.getMostRecentWindow("navigator:browser");
window.gBrowser.addTab(...);
【讨论】:
Components.classes 替换为 Cc,Components.interfaces 应替换为 Ci。
var {Cc, Ci} = require("chrome"); Cc.gBrowser.addTab("http://example.com/", {referrerURI: "http://referrer.com/"}); 也许我错了......
你需要先创建一个URI:
var ref = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService).newURI("http://referrer.com/",null,null);
gBrowser.addTab("http://example.com/", {referrerURI: ref});
享受吧!
【讨论】: