Javascript 在«上显示当前页面的URL和标题;面板»;
如何在«面板»标题和url当前页面上显示 我的问题是对port.emit、port.on的误解 UPD: 没有“标题”面板,“标题”当前页面 main.jsJavascript 在«上显示当前页面的URL和标题;面板»;,javascript,firefox,firefox-addon,firefox-addon-sdk,Javascript,Firefox,Firefox Addon,Firefox Addon Sdk,如何在«面板»标题和url当前页面上显示 我的问题是对port.emit、port.on的误解 UPD: 没有“标题”面板,“标题”当前页面 main.js var pa = require("sdk/panel"); var se = require("sdk/self"); // ... var panel = pa.Panel({ width: 400, height: 350, contentURL: [
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);
谢谢您的帮助。您可以这样得到:
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;
}
在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);
})
你为什么被否决?你写了一篇很好的文章,图像很好+1@Noitidart,请参阅UPD。谢谢。在哪里可以插入此代码?main.js或popup.js?您可以将此代码放在面板的
onShow
功能中。