我正在编写一个FF插件SDK插件。
我的main.js打开一个弹出窗口:
var win = require('sdk/window/utils').openDialog({
url:"http://www.example.com/index.html",
features: Object.keys({
resizable: true,
scrollbars: true
}).join(),
name: "myWin"
});
我需要窗口将数据发送到main.js(index.html是一个外部HTTP经典html / JS页面)
答案 0 :(得分:0)
1:添加content script。 使用pageMod或tabs API,将js文件注入http://www.example.com/index.html页面。
2:来自内容脚本的sending message,然后在main.js中添加一个消息监听器
答案 1 :(得分:0)
在main.js
:
var tab = win.tabs[0]; // as it is a pop-up window I assume it has only one tab
// attach content script to tab and access worker object
var worker = tab.attach({
contentScriptFile: self.data.url('popup_window_script.js'), // script from file
contentScript: '' // and/or script from string
});
// listen to worker / popup_window_script.js
worker.port.on('msg_from_popup_window_script_js', function ( msg ) {
// your code
});
// speak to worker / popup_window_script.js
worker.port.emit('msg_from_main_js', 'your message');
在popup_window_script.js
:
// listen (to main.js)
self.port.on('msg_from_main_js', function ( msg ) {
// your code
});
// speak (to main.js)
self.port.emit('msg_from_popup_window_script_js', 'your message');