0

起初,这似乎是一个奇怪的问题,但这是我的问题。我正在开发一个网站,它在 window.load 上计算 div 位置,因为它具有一些动态滚动事件突出显示(DOM Ready 是错误的选择,因为图像和内容尚未加载,并且计算 div 位置不正确时页面已完全呈现。)本地资产运行完美,并针对性能进行了优化,但我的问题是客户想要嵌入社交媒体,例如 Twitter 关注和 Facebook 之类的按钮。Twitter 的渲染速度似乎很快,但 Facebook 的渲染时间很长,在 window.load 事件准备好之前你可能会延迟大约 20-30 秒,这意味着我的导航会延迟并且无法正常工作。不知道有没有可能

4

1 回答 1

1

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

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

更好的解决方案可能是开始在onload. 这意味着页面的所有其余部分都在那里,Facebook 可以慢慢来。

于 2013-05-28T08:13:22.940 回答