页面加载后从XUL调用Init(Firefox附加组件)

时间:2010-03-18 15:37:59

标签: javascript firefox firefox-addon xul add-on

我一直在研究js / html中的一些代码并且效果很好。我现在正试图将它打包成Firefox的附加组件,并且在解决XUL文档时遇到一些问题。

PLAIN OLD HTML / JS

<head></head>我之间的html测试文件中:

<script type="text/javascript" src="js/MyCode.js"></script> 

</body>之前的测试文件末尾:

<script type="text/javascript">MyCode.Static.Init();</script>

FIREFOX ADD-ON:OVERLAY.XUL

在扩展包中的overlay.xul文件中,我有:

        <?xml version="1.0"?>
    <overlay id="mycode"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
        <script type="application/x-javascript" src="chrome://mycode/content/MyCode.js"></script>
        <script>
window.addEventListener("load", function () { gBrowser.addEventListener("load",MyCode.Static.Init,true); }, false);
        </script>
    </overlay>

这似乎没有进入方法,但是我再也不确定我是否让听众正常射击。这是否是正确的方法来复制我在普通的旧html / js中所做的事情?

4 个答案:

答案 0 :(得分:1)

请参阅:https://developer.mozilla.org/en/Code_snippets/Progress_Listeners了解如何捕获所有页面更改/加载/重新加载

答案 1 :(得分:0)

你确定gBrowser准备好了吗? 正如完整性检查一样,将脚本标记更改为

 alert(gBrowser); 

确保gBrowser已准备就绪。

答案 2 :(得分:0)

这是正确的:

gBrowser.addEventListener(“load”,function(){MyCode.Static.Init();},false);

答案 3 :(得分:-1)

怎么样:

<script>
  window.addEventListener("load", function () { MyCode.Static.Init(); }, false);
</script>