我有一个friefox侧边栏扩展名。如果通过单击工具栏图标打开它,我会加载一个网页(我已经创作)。现在,如果用户点击网页上的链接(加载到侧边栏中的链接),我希望链接的网页在主窗口的新选项卡中打开。我在我的网页标记中尝试了这个:
<a target="_content" href="http://www.google.com">Google</a>
但链接会在具有焦点但不在新标签中的标签中打开。
请帮忙。
感谢。
答案 0 :(得分:2)
如果使用target =“_ blank”,FF(版本3)应该为它打开一个新选项卡。没有尝试过侧边栏,但是值得一试。
答案 1 :(得分:1)
实际上,无法将网页(其链接在加载到侧边栏扩展中的其他网页中)加载到浏览器中的新选项卡上。唯一的方法是使用JavaScript。这必须在特权条件下执行(意味着作为扩展的一部分),如下所示:
gBrowser.addTab("http://www.google.com/");
编辑:
在这种情况下,添加浏览器选项卡的上述技术不起作用。根据{{3}}边栏中运行的代码无法访问主窗口。所以首先我在使用gBrowser之前访问了浏览器窗口。以下是我使用并正常使用的网站代码:
var mainWindow = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
.getInterface(Components.interfaces.nsIWebNavigation)
.QueryInterface(Components.interfaces.nsIDocShellTreeItem)
.rootTreeItem
.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
.getInterface(Components.interfaces.nsIDOMWindow);
在我访问浏览器窗口后,我通过getBrowser函数访问了gBrowser,如下所示:
mainWindow.getBrowser().addTab("http://www.google.com/");
在主窗口浏览器中打开一个新选项卡。
答案 2 :(得分:0)
<a href="http://www.google.com" target="new">Google</a>
这更依赖于正在使用的浏览器。 Firefox和Opera,我相信最新的IE浏览器会将“新窗口”显示为新选项卡,除非用户偏好另有说明。