2014-02-19 93 views
0

如何在點擊面板中的按鈕時重定向當前選項卡?從Firefox擴展中重定向當前選項卡

我目前在現在我的代碼如下:

的Javascript

function doSearch(){ 
    alert("Search!"); 
    var tabs = require("tabs"); 
    tabs.open("http://google.com"); 
} 

XUL

<xul:panel> 
    <xul:hbox> 
    <button onclick="doSearch()">Button 1</button> 
    </xul:hbox> 
</xul:panel> 
+0

當你說「重定向」,你的意思是有當前活動的標籤導航到該網址是什麼? –

+0

是的,導航不重定向 – xar

回答

1

通過 「重定向」 你的意思是假定「導航到「......這個怎麼樣?

function doSearch(){ 
    var win = window.top.getBrowser(); 
    var tab = win.selectedBrowser; 
    tab.contentWindow.location.href = "http://google.com"; 
} 

如果你的XUL是託管TabBrowser的ChromeWindow的疊加層,那應該沒問題。

對於其他一些場景,請參見MDN: Tabbed Browser

+0

實際選中的瀏覽器會是當前窗口否? – Noitidart

+0

我認爲它是當前的Tab(一個'Browser'元素),它包含了「content」窗口。 –

+0

啊你是對的我誤解了它。我的意思是,如果按鈕不知何故點擊,當它不是焦點選項卡,然後這個腳本將加載選定的選項卡。它確定了標籤中的瀏覽器元素。但它不太可能按鈕被點擊時,窗口沒有集中,只是如果Firefox掛起 – Noitidart

0

我會推薦這:

function doSearch (e){ 
var win = e.target.ownerDocument.defaultView; 
    win.alert("Search!"); 
win.top.document.location.href = "http://google.com"; 
} 

document.YOURBUTTON.addEventListener('click', doSearch, false); 
相關問題