javascript - 如何在xbl中添加/包含js文件?

标签 javascript xul xbl

我已经阅读并找到了在 XBL 中添加 js 文件的技术,但这些技术不起作用。 我试图声明标签:<'script src='test.js''><'script src='chrome://content/test.js '> , 但都没有用。

测试类中的方法很简单function caller() { alert("call succeeded"); } .

有没有一种正确且简单的方法可以在 XBL 中包含 js 文件,这样从文件中调用函数就好像函数是在 XBL 中编写的一样。

最佳答案

这里有更多的细节: http://www.w3.org/TR/xbl-primer/#scripts 你在做什么似乎没问题,这是他们给出的例子:

<xbl xmlns="http://www.w3.org/ns/xbl">
  <script src="example.js"/>

请注意那里的 xmlns,这是默认命名空间。如果您将其定义为:xmlns:xbl="http://www.w3.org/ns/xbl" 那么您必须使用

<xbl:script src="example.js" />

尝试一下,我自己从未亲自尝试过,但这个命名空间是常见的陷阱。

编辑: 恐怕这不可能。这是来自 XBL 2.0 规范,Gecko 似乎还不支持它,并且在 XBL 1.0 脚本标签中不存在:

http://groups.google.com/group/mozilla.dev.tech.xbl/msg/d7d4f279ebdad65f?pli=1 他们在这里提到发展应该如火如荼。

这是他们指向的链接:https://wiki.mozilla.org/XBL2但似乎自 2009 年以来就没有更新过,很难说是否会实现。

这里是 XBL 1.0 引用,您可以在其中看到脚本标签不存在:https://developer.mozilla.org/en/XBL/XBL_1.0_Reference

但要提供一个可能的替代方案——您可以使用模块,并在构造函数中执行如下操作:

<constructor>
    Components.utils.import("resource://yourextension/config.js");

有关模块的更多信息:https://developer.mozilla.org/en/JavaScript_code_modules 和示例:https://developer.mozilla.org/en/JavaScript_code_modules/Using 基本上你需要注册你的模块文件夹,把你的 test.js 放在里面,按照如何从它“导出”函数/变量的说明进行操作。然后,您可以将其导入任何 JavaScript、XUL 或 XBL 文件。

关于javascript - 如何在xbl中添加/包含js文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5035355/

相关文章:

css - moz 行为在 Firefox 10 中有效吗?

javascript - 向匿名元素添加伪元素和光标样式以及事件监听器

javascript - 使用动态文本框序列化表单

javascript - 如何在命名空间: MobX内使用装饰器

javascript - 火狐插件 : Access Variable in other File

firefox-addon - Firefox 扩展按什么顺序初始化?

c++ - 创建 GStreamer XUL 元素?

javascript - 如何将 JavaScript 结果包含到播放器中?

javascript - 协助调试这个简单的 javascript split 函数