歌剧扩展脚本和它们之间的通信
opera extension scripts and communication between them
我使用附加组件生成器工具对Firefox进行了扩展。 扩展结构是这样的,
-
主插件代码将运行 2 个内容脚本(1 个在运行时,1 个在文档就绪状态)
内容脚本 的结果被发送到主插件代码(使用"内容脚本和插件代码之间的通信")
主插件代码将此信息发送到另外 1 个内容脚本。
内容脚本将添加这两个结果,并在用户单击小部件时显示
例:
主.js(插件代码):
var data = require("self").data;
var paraPanel = require("panel").Panel({
contentScriptFile: data.url("combine.js")
});
require("page-mod").PageMod({
contentScriptWhen: 'start',
contentScriptFile: data.url("content-script1.js"),
onAttach: function (worker) {
worker.port.on("para1", function(message) {
msgfromscript1 = message;
});
}
})
require("page-mod").PageMod({
contentScriptWhen: 'ready',
contentScriptFile: data.url("content-script2.js"),
onAttach: function (worker) {
worker.port.on("para2", function(message) {
msgfromscript2 = message;
});
}
})
require("widget").Widget({
contentURL: data.url("crack_attack.png"),
onClick: function() {
paraPanel.port.emit("add-para", msgfromscript1,msgfromscript2);
paraPanel.show();
}
});
组合.js代码:
self.port.on("add-para", function(msgfromscript1,msgfromscript2) {
var result=msgfromscript1+msgfromscript2;
document.body.innerHTML = result;
});
我想实现与 Opera 扩展相同的功能。我如何根据Opera浏览器中的点击功能进行这种通信和显示?
是否有任何文档或示例 Opera 扩展可以帮助我?
opera extensions documentation: http://dev.opera.com/addons/extensions/以下是GitHub上的两个扩展:https://github.com/truthee/opera 和 https://github.com/mywot/opera 希望它有所帮助。
相关文章:
- firefox插件和dev/panel之间的通信
- 如何在两个不同的iframe HTML之间进行通信
- Angularjs事件与发布/订阅指令之间的通信
- Firefox插件SDK:在侧边栏和主脚本之间通信对象
- Ember.js:接受的子组件和父组件之间通信的最佳实践
- 如何在Windows Phone 8.1应用程序中在C#和Javascript之间传递数据或通信
- 如何在Famo.us中的两个视图(不同的js文件)之间进行通信
- 在Jquery或Javascript中获取两个范围或日期之间的通信周数
- 如何在同源选项卡之间建立通信
- 如何在 PHP 和 JS 中的并发会话之间进行通信
- 如何在两个动画画布元素之间进行通信
- 在 HTML5 和 C# Web 套接字通信之间
- angularjs 中控制器和指令之间的通信
- 歌剧扩展脚本和它们之间的通信
- 如何使用js在两个aspx页面之间进行通信
- 多个应用程序之间的通信
- Socket.IO:如何在同一服务器中的Socket.on()事件之间通信/交换数据
- chrome扩展的浏览器操作、后台脚本和内容脚本之间通信的上下文和方法
- 使用PhoneGap/Cordova时应用程序和服务器之间通信的最佳实践
- 使用AJAX在两个JavaScript文件之间通信并发送数据