延迟解析 JavaScript 不起作用
Posted
技术标签:
【中文标题】延迟解析 JavaScript 不起作用【英文标题】:Defer parsing of JavaScript not working 【发布时间】:2017-04-02 15:41:22 【问题描述】:Gtmetrix 说有一些来自 youtube 的 JS 文件需要延迟。我删除了 iframe 并使用 jQuery 和经典的 javascript 代码推迟了它,但两种方法都不起作用。 Gtmetrix 仍然显示相同的 youtube JS 文件。
Gtmetrix 中的错误 这是我目前使用的 Javascript 代码
<script>
var txt = '<iframe src="https://www.youtube.com/embed/qwertyuiopa?feature=oembed&wmode=opaque" allowfullscreen="" frameborder="0"></iframe>';
document.getElementsByClassName('myclass')[0].innerhtml = txt;
</script>
PS:是的,我删除了缓存,源代码中没有<iframe>
标签,JS 代码运行良好。
【问题讨论】:
【参考方案1】:或许您可以尝试将您的 JS 代码提取到 .js
文件中,然后使用 <script />
HTML 元素的 defer
或 async
属性。
<script src="javascript.js" defer></script>
这些属性不应在没有src
的script
标签上使用,这就是为什么将代码提取到单独的 JS 文件中很重要的原因。
希望对你有帮助。
【讨论】:
以上是关于延迟解析 JavaScript 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Jquery .removeClass 在 setTimeout 内不起作用
JavaScript:在另一个 setTimeOut(嵌套 setTimeOut)中的 setTimeOut 以刺激 API 响应不起作用