【问题标题】:I want a way to know if a particular web page is completely loaded using javascript我想知道一个特定的网页是否使用 javascript 完全加载
【发布时间】:2023-03-14 22:14:01
【问题描述】:

我想知道一个特定的网页是否完全使用 javascript 加载

例如) 一个网页可以有通过Ajax显示的动态内容,或者通过javascript,所有图像和css显示的内容。我需要找出所有这些内容何时正确加载以及网页是否稳定。

我得到了一些指针,例如 ondocumentready,它是 window.onload、onreadystatechange 的替代方案,但这些解决方案并不可靠,有时它可以工作,有时它不能

此外,解决方案应该独立于浏览器,即它应该适用于所有浏览器

任何关于此的指针将不胜感激

提前致谢

【问题讨论】:

    标签: webpage


    【解决方案1】:

    使用jQuery 很简单:

    <script type="text/javascript">
        $(document).ready(function() {
            alert('doc is ready');
            });
        });
    </script>
    
    • 独立于浏览器
    • 高度可靠
    • 太棒了

    【讨论】:

      【解决方案2】:

      您还可以使用以下内容。这是@cottsak 发布的代码的简写版本

      $(function() 
      { 
           // your code 
      });
      

      如果您使用 jQuery.noConflict()(用于将 $ 变量的控制权交还给第一个实现它的库),您可以这样做:

      通过添加jQuery.noConflict(),jquery不会与其他库的$变量发生冲突

      jQuery(function($) 
      { 
             // your code
      });
      

      【讨论】:

        【解决方案3】:

        使用纯 javascript,您可以将 javascript 放在 body 标签的 onload 事件中,如下所示:

        <body onload="function">
        

        这将在页面完成加载时触发。

        【讨论】:

        • 不,不建议这样做,因为与上面描述的 jQuerys 方法相比,它不是很可靠。
        • 如果我不想使用 jQuery 怎么办?
        • 嗯,我现在重读了这个问题,意识到我可能弄错了海报...“body onload”事件旨在等待资源,这正是海报想要的。我总是使用 jQuery 来获得稳定性和跨浏览器能力,但在这种情况下,onload 可能会表现得更好。将撤回我的投票并继续关注主题。
        【解决方案4】:

        作为@Rigobert@cottsack 两个答案的比较:

        window.onload

        应仅用于检测完全加载的页面。

        所以它应该很适合您的问题。

        $(document).ready( 触发(在大多数情况下,取决于浏览器)

        当初始 HTML 文档被完全加载和解析后, 无需等待样式表、图像和子框架完成 正在加载。

        另见window-onload-vs-document-readythe DOMContentLoaded event(这似乎触发了 JQuery 的 $(document).ready())。 jquery-ready-vs-window-onload 也有很好的答案。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-02-08
          • 1970-01-01
          • 1970-01-01
          • 2022-07-27
          • 2010-11-18
          • 1970-01-01
          • 2013-01-12
          • 1970-01-01
          相关资源
          最近更新 更多