是否有一种方法来确定是否加载了所有本地JavaScript资源

Is there a way to determine if all local JavaScript assets are loaded?

本文关键字:是否 加载 资源 JavaScript 方法 一种      更新时间:2023-09-26

乍一看,这似乎是一个奇怪的问题,但这是我的问题。我正在开发一个网站。load计算div位置,因为它有一些动态滚动事件高亮显示(DOM Ready是错误的选择,因为图像和内容尚未加载,并且在页面完全呈现时计算div位置是不正确的。)本地资产运行完美,并优化性能,但我的问题是,客户希望社会媒体嵌入,例如twitter关注和facebook喜欢按钮。Twitter的渲染速度似乎相当快,但Facebook需要很长时间,你可能会在窗口前延迟20-30秒。加载事件准备好了,这意味着我的导航会滞后,不能正常工作。我不知道这是否可能,但是是否有一种方法可以确定何时加载所有本地JavaScript文件(这些文件包含在结束正文标记之前)。

可能。页面中的所有JavaScript都按照浏览器遇到它的顺序执行。因此,当您添加<script>元素作为<body>元素内部的最后一个元素时(即在页面底部),该代码将在执行所有其他脚本代码之后运行。而且,在那个时候,DOM将被完成(不再需要处理HTML),除了回调仍然可能做的事情(计时器、加载处理程序)。

所以你可以试着在你的代码和Facebook的代码之间放一个<script>元素。但这意味着你的DOM还没有准备好。

一个更好的解决方案可能是开始加载Facebook的代码在onload的内部背景。这意味着页面的其余部分都在那里,Facebook可以慢慢来。