gpt4 book ai didi

javascript - 仅在桌面版本上使 js 代码异步

转载 作者:行者123 更新时间:2023-11-29 16:02:45 25 4
gpt4 key购买 nike

我有一个博主博客的外部 JS 文件,是否可以使异步属性仅在桌面版本上加载时才起作用,如果是移动版本则只加载没有异步的普通脚本?

<script async="async" src='example.js' type='text/javascript'>

</script>

更新:

我尝试使用 if cond .. 它似乎可以工作,但我可以只调用它一次而不必将脚本源链接写两次吗?

这是代码

<b:if cond='data:blog.isMobileRequest == &quot;true&quot;'>
<script src='example.js' type='text/javascript'></script>
<b:else/>
<script async="async" src='example.js' type='text/javascript'></script>
</b:if>

最佳答案

如评论所述,这应该在服务器端处理,但如果您别无选择,只能在客户端实现它,则有可能:

<head>
<script>
const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|Mobile|mobile|CriOS/i.test(navigator.userAgent);
const script = document.head.appendChild(document.createElement('script'))
if (!isMobile) script.async = 'async';
script.src = '/example.js';
</script>
</head>

也就是说,无论如何使用asyncdefer 通常是个好主意,以避免在脚本执行时阻塞文档解析。

关于javascript - 仅在桌面版本上使 js 代码异步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50225086/

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