2009-02-04 12 views
1

我有一個friefox側邊欄擴展。如果它通過點擊工具欄圖標打開,我用一個網頁(我已經創作)加載它。現在,如果用戶點擊網頁上的鏈接(即加載到側欄中),我希望鏈接的網頁在主窗口的新選項卡中打開。我這個試過我的網頁標記:將Firefox側邊欄擴展程序鏈接加載到新的瀏覽器選項卡中。如何?

<a target="_content" href="http://www.google.com">Google</a> 

但鏈接具有焦點,而不是在一個新的選項卡標籤中打開。

請幫忙。

謝謝。

回答

1

實際上,無法將瀏覽器中新網頁加載網頁(其鏈接位於加載到側邊欄擴展中的另一個網頁中)。唯一的方法是使用JavaScript。這具有執行下特權條件(作爲擴展的一部分意思)象下面這樣:

gBrowser.addTab("http://www.google.com/"); 

編輯:

添加瀏覽器選項卡在這種情況下沒有工作的上述技術。根據this article側邊欄中運行的代碼無法訪問主窗口。因此,首先我使用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); 

我訪問我訪問gBrowser通過getBrowser功能類似下面的瀏覽器窗口後:

mainWindow.getBrowser().addTab("http://www.google.com/"); 

的打開主窗口瀏覽器中的新選項卡。

0
<a href="http://www.google.com" target="new">Google</a> 

這更依賴於正在使用的瀏覽器。 Firefox和Opera,我相信最新的IE,除非用戶偏好指定,否則將「新窗口」顯示爲新標籤。

2

如果您使用target =「_ blank」,FF(版本3)應該爲它打開一個新標籤。沒有試過它從側邊欄,但它值得一槍。

+1

_blank和new/_new是可互換的錨屬性。 :) – 2009-02-04 08:52:35

相關問題