【发布时间】:2016-05-06 16:16:41
【问题描述】:
我想要一个 Firefox 扩展,所以当你点击图标时,它会打开弹出窗口并在弹出窗口中加载我的页面。
我有下一个问题。当我单击扩展图标以获取当前选项卡的 URL 并在弹出窗口中加载我的页面时,我需要将该 URL 作为查询字符串发送。
因此,当您单击图标时,它会打开弹出窗口并加载类似“http://example.com?url={current-URL}”的页面
问题是它在弹出窗口中加载了我的页面一次,下次我单击扩展程序时,它会打开已经呈现的弹出窗口。这是我正在使用的代码:
var { ToggleButton } = require('sdk/ui/button/toggle');
var panels = require("sdk/panel");
var self = require("sdk/self");
var tabs = require('sdk/tabs');
var button = ToggleButton({
id: "my-button",
label: "My button",
icon: {
"16": "./icon-16.png",
"32": "./icon-32.png",
"64": "./icon-64.png"
},
onChange: handleChange
});
var panel = panels.Panel({
width: 700,
height: 543,
contentURL: 'http://example.com?url='+ tabs.activeTab.url,
contextMenu : true,
onHide: handleHide
});
function handleChange(state) {
if (state.checked) {
panel.show({
position: button
});
}
}
function handleHide() {
button.state('window', {checked: false});
}
所以我想要的是每次单击扩展图标时,它都会在面板中再次加载我的页面,而不仅仅是显示已经呈现的页面。这可能吗,我该怎么做,有什么帮助吗?
【问题讨论】:
标签: firefox-addon firefox-addon-sdk