2014-06-13 96 views
0

如何顯示在«面板»標題和URL當前頁面?在«面板»上顯示當前頁面的URL和標題»

我的問題是對port.emit,port.on的誤解。

enter image description here

UPD:

號 「稱號」 面板中, 「標題」 當前頁面。

main.js

var pa   = require("sdk/panel"); 
var se   = require("sdk/self"); 
// ... 
var panel = pa.Panel({ 
    width: 400, 
    height: 350, 
    contentURL: [ 
     se.data.url("./popup.html")], 
    contentScriptFile: [ 
     se.data.url("popup.js"), 
     se.data.url("./js/jquery-2.1.0.min.js"), 
     se.data.url("./js/bootstrap.min.js")], 
    contentStyleFile: [ 
     se.data.url("./css/bootstrap.min.css"), 
     se.data.url("./css/font-awesome.min.css")], 
    onHide: handleHide 
}); 
// ... 

popup.js

var url_page, title_page; // No document.title or document.location 

console.log(url_page); 
console.log(title_page); 

謝謝您的幫助。

+0

你爲什麼downvoted?你用非常好的圖像寫了一篇漂亮的文章。 +1 – Noitidart

+0

@Noitidart,請參閱UPD。謝謝。 –

回答

1

在main.js:

var pa   = require("sdk/panel"); 
var se   = require("sdk/self"); 
var tabs = require('sdk/tabs'); 
var panel = pa.Panel({ 
    width: 400, 
    height: 350, 
    contentURL: [ 
     se.data.url("./popup.html")], 
    contentScriptFile: [ 
     se.data.url("popup.js"), 
     se.data.url("./js/jquery-2.1.0.min.js"), 
     se.data.url("./js/bootstrap.min.js")], 
    contentStyleFile: [ 
     se.data.url("./css/bootstrap.min.css"), 
     se.data.url("./css/font-awesome.min.css")], 
    onHide: handleHide, 
    onShow: function() { 
     this.port.emit('show', { 
     url: tabs.activeTab.url, 
     title: tabs.activeTab.title 
     }) 
    } 
}); 

在popup.js補充:

self.port.on('show', ({ url, title }) => { 
    console.log(url); 
}) 
0

你可以這樣說:

const { getMostRecentBrowserWindow } = require('sdk/window/utils'); 
var aDOMWindow = getMostRecentBrowserWindow(); 
if (aDOMWindow.gBrowser) { 
    var url = aDOMWindow.gBrowser.contentDocument.location; 
    var title = aDOMWindow.gBrowser.contentDocument.title; 
} else { 
    var url = aDOMWindow.document.location; 
    var title = aDOMWindow.document.title; 
} 
+0

哪裏可以插入此代碼? main.js或popup.js? –

+0

您可以將此代碼放置在面板的'onShow'功能中。 – Noitidart

相關問題