引用来自单独XUL文件的id

Referencing an id from separate XUL files

本文关键字:文件 id XUL 单独 引用      更新时间:2023-09-26

如果我有两个不同的XUL文件,其中一个中的javascript是否可能引用另一个中定义的XUL id ?我想在一个单独的xul文件中使用javascript来编辑另一个xul。

你可以在XUL文件中引用任何JS文件&如果你想把相同的JS文件放到另一个XUL文件中

例如:

<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="chrome://global/skin/" ?>
<?xml-stylesheet type="text/css"href="chrome://hello/skin/browserOverlay.css" ?>
<!DOCTYPE overlay SYSTEM
  "chrome://hello/locale/browserOverlay.dtd">
<overlay id="xulschoolhello-browser-overlay"
  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  <script type="application/x-javascript"
    src="chrome://hello/content/browserOverlay.js" />
    <script type="application/x-javascript" src="chrome://hello/content/javaLoader.js" />
    <script type="application/x-javascript" src="chrome://hello/content/window.js" />
</overlay>

如果你想在XUL中使用JS,这是可能的,但在这种情况下,你不能将这个JS函数链接到另一个XUL。

在XUL文件中输入:

<script type="application/x-javascript">
<![CDATA[
    // your code here
]]>
</script>

我建议单独使用JS文件&您可以将它们链接到任意数量的XUL文件,正如我上面所解释的。

参考文献:https://developer.mozilla.org/en/Building_an_Extensionhttps://developer.mozilla.org/en/Setting_up_extension_development_environment

您似乎正在寻找的是XUL覆盖。这些覆盖可以在您的chrome.manifest文件中注册,并允许对其他XUL文档应用修改。例如,大多数Firefox扩展为chrome://browser/content/browser.xul(主浏览器窗口)注册了覆盖。