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

肖恩·哈曼(Shaun Hamman)

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

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

基本上:

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

我可以覆盖主题布局以直接访问标头,并且更传统地执行此操作,但是我想尽可能避免这种情况。是否还有其他建议将小型一次性脚本与Jekyll一起使用?

一罐黏土

最终,Jekyll markdown转换为标准HTML,因此这个问题简化为“async在HTML主体中加载小的,非关键性的外部脚本是否安全,性能有效?”。

请参阅https://stackoverflow.com/a/39711009以获取显示其async工作原理的图表为了清楚起见,我将在下面复制它。它向我们展示了与HTML解析并行请求资源,使得性能下降与运行内联JS大致相当。因此,如果脚本较小(假设较小,则表示它不占用资源,与代码长度相比较小),无论将其放在何处,性能影响都可以忽略不计。

如果脚本不是关键脚本,则最好尽可能将其放在正文的末尾,以便首先加载关键HTML和其他资源,因为在执行脚本时HTML解析仍会暂停。

在此处输入图片说明

Google Chrome Lighthouse工具可用于指示网页的性能,并显示网页的哪些部分对性能的影响最大,以我的经验,这些部分往往是图像。您可以通过打开Chrome开发者工具,然后转到审核标签来使用这些工具。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何动态加载外部页面

如何为外部类创建页面视图

页面加载后如何加载多个脚本?

在Jekyll中,如何为页面创建标签归档?

如何延迟外部页面在jquery中加载

如何为GitHub页面中的单个页面自定义Jekyll主题?

页面加载后如何加载google maps外部javascript?

如何为每个事件加载新的外部HTML?

如何为Excel VBA加载项创建简单的帮助页面

如何为特定视图加载特定脚本和 css?

LitElement加载外部脚本

使用$(document).ready()和$ .getScript()完成页面加载后,加载外部脚本

如何从同一div中的外部页面加载链接

如何在页面加载时打开外部存储模式

如何使用WP页面加载期间阻止外部静态资源

如何使用优化的 require.js 加载外部脚本?

如何在Angular中动态加载外部脚本?

如何从Java的类路径外部动态加载Clojure脚本?

如何在反应应用程序中加载外部脚本

您如何在HTML页面加载时调用PHP脚本?

如何知道正在加载脚本的页面的URL?

wordpress页面内容完全加载后如何执行脚本

美汤如何找到JS加载页面的脚本标签

如何在脚本之前防止管理布局页面加载?

页面完全加载后如何执行内容脚本

Chrome扩展程序,如何延迟脚本,直到页面完全加载

如何访问加载到 Protractor 测试页面中的脚本类?

如何使用脚本从.post加载到页面上的按钮?

如何在Javascript上的脚本之后重新加载页面?