如何在“onload”脚本完成时收到通知

时间:2010-04-16 16:16:31

标签: xul xpcom xulrunner

我在加载html页面时收到通知

- > onStateChange,stateFlags:STATE_IS_NETWORK + STATE_STOP

但是当我加载页面并且onload脚本已经完成运行时,我需要一个通知。

任何提示? THX

2 个答案:

答案 0 :(得分:0)

也许你可以添加第二个监听器来“加载”事件。我无法找到任何确认事件监听器被设置的文档,但是下面代码的一些实验表明它似乎就是这种情况。如果有竞争条件,我希望有时会看到“AB”,有时候会看到“BA”:

<input type="text" id="field"/>

<script>

    var t = document.getElementById("field");
    t.value="";

    function a(e) {
        t.value = t.value + "A";
    }

    function b(e) {
        t.value = t.value + "B";
    }

    window.addEventListener("load", a, false);
    window.addEventListener("load", b, false);

</script>

要注意的一件事是,如果你太晚添加第二个事件监听器(即已经触发了load事件),则不会调用它。

无论如何,感觉就像一个黑客,但只是一个想法,以防你找不到更好的方法来处理它。

答案 1 :(得分:0)

您可以使用:

gBrowser.addEventListener("DOMContentLoaded", function()
{
// Page content is loaded
}, false);

但请记住,gBrowser会引用标签的内容,以便在选中时检查每个标签