on("show", function()) 在 FF 扩展中不起作用
on("show", function()) doesn't work in FF extension
我有 FF 扩展,其中自动显示面板事件焦点应该在文本输入字段上 parameter
。为此,我正在使用 on("show", function())
(在 scrip.js
中),但无论我在此函数中插入什么,它都不起作用。
有什么建议吗?
main.js:
var panel = panels.Panel({
contentURL: self.data.url("index.html"),
contentScriptFile: self.data.url("script.js"),
onHide: handleHide,
width: 250,
height: 200
});
function handleChange(state) {
if (state.checked) {
panel.show({
position: button
});
}
}
script.js:
self.port.on("show", function onShow() {
document.getElementById("parameter").focus();
});
show
是一个事件,它被发送到 panel.on("eventname")
回调。 port
用于插件上下文和面板上下文之间的消息传递。
即panel.port.on(...)
与 panel.on(...)
不同。
而且它在面板上下文中不可用。也许您可以为此目的使用 pageshow/pagehide dom 事件,或者您可以通过端口将插件中的事件反映到面板。
将以下代码添加到 main.js
中有帮助:
panel.on("show", function() {
panel.port.emit("show");
});
我有 FF 扩展,其中自动显示面板事件焦点应该在文本输入字段上 parameter
。为此,我正在使用 on("show", function())
(在 scrip.js
中),但无论我在此函数中插入什么,它都不起作用。
有什么建议吗?
main.js:
var panel = panels.Panel({
contentURL: self.data.url("index.html"),
contentScriptFile: self.data.url("script.js"),
onHide: handleHide,
width: 250,
height: 200
});
function handleChange(state) {
if (state.checked) {
panel.show({
position: button
});
}
}
script.js:
self.port.on("show", function onShow() {
document.getElementById("parameter").focus();
});
show
是一个事件,它被发送到 panel.on("eventname")
回调。 port
用于插件上下文和面板上下文之间的消息传递。
即panel.port.on(...)
与 panel.on(...)
不同。
而且它在面板上下文中不可用。也许您可以为此目的使用 pageshow/pagehide dom 事件,或者您可以通过端口将插件中的事件反映到面板。
将以下代码添加到 main.js
中有帮助:
panel.on("show", function() {
panel.port.emit("show");
});