有人可以解释在firefox扩展中使用port.on和port.emit的上下文吗?
从官方文档我想象这应该工作:
//main.js
var someData = "Message received";
self.port.emit("myMessage", someData);
self.port.on("myMessage", alert(someData));
Run Code Online (Sandbox Code Playgroud)
但我明白了
错误:未定义self.
将此附加到定义的对象后,如下所示:
var self = require("sdk/self");
self.port.emit("myMessage", someData);
Run Code Online (Sandbox Code Playgroud)
我明白了
错误:未定义端口.
构建firefox扩展的最新方法是什么?我之前已经多次问过这个问题,但是我发现的答案似乎不再是最新的,特别是因为附加构建器已被抛弃.
到目前为止,我花了一些时间学习XUL,加载项构建器和SDK.所有人都有很多教程,我发现在意识到它已经过时之前花些时间与每个教程非常令人沮丧.甚至SDK教程也经常被标记为"需要技术评审"或者已经有几年了.
如果SDK是最好的入门方式,官方Mozilla教程是最新的吗?还有其他好的选择吗?
git 的 --help 和手册页非常清楚地显示了为分支设置上游的好方法,但我还没有找到获得当前上游的好方法。
不幸的是,git branch -v
只显示了与上游分支的关系,并没有告诉你上游分支正在使用什么远程。
我有一个解决方法,git config --get branch.branch_name.remote
但还有其他方法吗?
我经常喜欢在第二台显示器上打开我正在打开的文件的副本,通常是为了协助编写测试.我有时会盲目地尝试在这台显示器上编辑它,而不是最新的.为了防止这种情况,我一直在设置只读模式,:set ro
但这并不妨碍我进行更改,它只能阻止我保存.
我想要一个能够进入插入模式的锁.我可以创建一个重新映射所有插入模式键的切换,但我想知道是否有更好的解决方案?