2011-09-24 15 views
1

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

回答

2

你可以在XUL文件里面引用任何JS文件&它会是一样的如果你想在另一个XUL文件中使用相同的JS文件。

例如:

<?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> 

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

此类型的XUL文件中:

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

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

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

1

你似乎在寻找有XUL overlays什么。这些覆盖图可以是registered in your chrome.manifest file,并允许对其他XUL文档进行修改。例如,大多数Firefox扩展为chrome://browser/content/browser.xul(主浏览器窗口)注册重叠。

相关问题