学习Firefox扩展开发,发现不同的XUL窗体对应的js脚本之间是无法使用全局变量的,如果要使用全局变量就必需通XPCOM组件来实现,后来在网上搜索到一论坛有人问到如何在XUL之间使用全局变量,某高人发了一个MDN上的文章链接:Using JavaScript code modules ,看完了才知在Geko1.9(Firefox3)后引入了Javascript Code Modules,只要写一个基于javascript代码的jsm文件,声明好需要使用的全局变量,然后在要用这些全局变量到的js文件中使用Components.utils.import() 加载这个jsm文件即可,这些在jsm中定义的全局变量不会因为在不同的js文件中调用而被重置,因为这些全局变量被置于缓存中,各个js文件去访问到的都是同一个值.
引用一下MDN上的例子,首先新建一个叫my_module.jsm的文件(其实后缀也可以是js的,没所谓,只要后面载入的时候文件名一致就可以),写入以下代码.
第一行定义的