延迟解析 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&amp;wmode=opaque" allowfullscreen="" frameborder="0"></iframe>';
document.getElementsByClassName('myclass')[0].innerhtml = txt;
</script>

PS:是的,我删除了缓存,源代码中没有&lt;iframe&gt; 标签,JS 代码运行良好。

【问题讨论】:

【参考方案1】:

或许您可以尝试将您的 JS 代码提取到 .js 文件中,然后使用 &lt;script /&gt; HTML 元素的 deferasync 属性。

<script src="javascript.js" defer></script>

这些属性不应在没有srcscript 标签上使用,这就是为什么将代码提取到单独的 JS 文件中很重要的原因。

希望对你有帮助。

【讨论】:

以上是关于延迟解析 JavaScript 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

动画延迟不起作用

Jquery .removeClass 在 setTimeout 内不起作用

JavaScript:在另一个 setTimeOut(嵌套 setTimeOut)中的 setTimeOut 以刺激 API 响应不起作用

为啥延迟加载在一对一关联中不起作用?

Swift:for循环中延迟的动画不起作用?

数据表延迟加载不起作用