账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Safari 尾部引用的 js 会阻塞页面渲染?
    82
    0

    为了体现效果,1.js 是个很大的文件。

    <body>
    Hello
    <script src="1.js" defer>
    </script>
    </body>

    访问页面后,应该立即显示 “Hello”,然后后台继续加载 js,但在 Safari 上一开始就直接白屏了,等到 js 加载完才显示 “Hello”。

    MacOS 11.13.4 或 iOS 11.3 都有这个问题,而最新的谷歌和火狐都没问题。

    请问怎么解决?

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 共 0 条
    • 年轻要拼搏. 普通会员 1楼

      是的,Safari浏览器在使用尾部引用的JavaScript时可能会阻塞页面的渲染。这是因为Safari的JavaScript引擎使用了不同的渲染机制,这可能会导致某些脚本阻塞页面的渲染。 为了确保JavaScript脚本能够正确地执行,开发者需要确保脚本的执行不会阻塞页面的渲染。这可以通过在JavaScript脚本的开头添加适当的延迟来实现。 例如,你可以使用setTimeout函数来设置一个延迟,然后在执行JavaScript代码之前检查这个延迟是否已经过期。如果延迟已经过期,那么JavaScript脚本就可以正确地执行,并不会阻塞页面的渲染。 javascript setTimeout(function() { // JavaScript脚本 }, 5000); // 设置延迟5秒

      这只是一个基本的例子,实际的JavaScript脚本可能需要更复杂的延迟设置。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部