【问题标题】:how get I notified when the "onload" script has finished“onload”脚本完成后如何通知我
【发布时间】:2010-04-16 16:16:31
【问题描述】:

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

-> onStateChange, stateFlags: STATE_IS_NETWORK + STATE_STOP

但我需要在页面加载完毕并且 onload 脚本完成运行时收到通知。

有什么提示吗? 谢了

【问题讨论】:

    标签: xul xpcom xulrunner


    【解决方案1】:

    也许您可以为“加载”事件添加第二个侦听器。我找不到任何文档确认事件侦听器是按设置顺序调用的,但是对下面代码的一些实验表明情况似乎如此。如果有比赛条件,我希望有时会看到“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>
    

    需要注意的一点是,如果添加第二个事件监听器太晚(即加载事件已经触发),它将不会被调用。

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

    【讨论】:

      【解决方案2】:

      你可以使用:

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

      但请记住,gBrowser 指的是选项卡的内容,因此它会在每个选项卡被选中时检查它

      【讨论】:

        猜你喜欢
        • 2023-03-02
        • 1970-01-01
        • 2012-12-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-13
        • 2016-09-25
        相关资源
        最近更新 更多