我即将编写一个页面修改附加组件,需要通过调用函数并向其添加侦听器来与页面上定义的JavaScript API进行通信。 MDN上的page script interaction article仅列出了在附加组件和页面脚本之间复制非常原始的数据和函数的可能性。我能看到的唯一可能的解决方案是package.json中的“权限”:{“unsafe-content-script”:true}选项,允许直接访问页面脚本。
获取页面JavaScript对象的实际访问权限的最佳方法是什么? 如果我使用unsafe-content-scripts,我是否不得不担心Firefox将来不再支持我的插件?
在我的特定情况下,我希望能够访问Ember.js应用程序Twitch内的IRC聊天界面。我想使用它的消息发送功能并添加一个监听器来接收消息。直接复制到开发人员控制台中,以下命令可以执行此类操作,例如:
var chat = require('web-client/models/room').default.instances.<channel name>.tmiRoom;
chat.on('message', function(msg) {
if (/hi|hello|greetings/i.test(msg.message)) {
chat.sendMessage('Have a nice day '+ msg.from +'!');
}
});