gpt4 book ai didi

javascript - 如何为 Jekyll 页面加载外部脚本?

转载 作者:行者123 更新时间:2023-11-30 11:17:58 25 4
gpt4 key购买 nike

我正在 GitHub Pages 上构建一个 Jekyll 站点。我有一个需要少量 JavaScript 的特定页面。这个页面的 header 和 body 标签由我使用的主题控制。我想在外部脚本文件中维护此 JavaScript,而不是在我的页面中间使用原始脚本。

鉴于现代网络技术,仅使用异步脚本标签来加载文件是否有任何主要陷阱?一旦页面生成,这个标签就会出现在正文内容中,但据我所知,不在正文中加载外部脚本的建议最初来自加载速度问题,并且对于异步不再有效。该脚本很小并且控制非关键功能。

基本上:

<body>
...page content...
<script src="/assets/js/myscript.js" type="text/javascript" async=""></script>
...page content...
</body>

我可以覆盖主题布局以直接访问页眉并以更传统的方式执行此操作,但我想尽可能避免这种情况。对于将小型一次性脚本与 Jekyll 一起使用,还有其他建议吗?

最佳答案

最终,Jekyll markdown 被转换为标准 HTML,因此这个问题被简化为“在 HTML 主体中加载小型、非关键的 async 外部脚本是否安全、性能明智? ".

参见 https://stackoverflow.com/a/39711009用于显示 async 工作原理的图表。为了清楚起见,我将在下面复制它。它向我们展示了资源是与 HTML 解析并行请求的,这使得性能损失大致相当于运行内联 JS。因此,如果脚本很小(假设小,意思是它不是资源密集型的,而不是代码长度小),无论你把它放在哪里,对性能的影响都可以忽略不计。

如果脚本是非关键的,如果可能的话还是最好放在body的末尾,这样关键的HTML和其他资源先加载,因为在执行的时候HTML解析还是暂停的脚本。

enter image description here

Google Chrome Lighthouse 工具可用于指示网页的性能,并显示网页的哪些部分对性能造成的影响最大,根据我的经验,这往往是图像。您可以通过打开 Chrome 开发者工具并转到“审核”选项卡来使用这些工具。

关于javascript - 如何为 Jekyll 页面加载外部脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50862864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com