首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否延迟执行内联javascript?

是否延迟执行内联javascript?
EN

Stack Overflow用户
提问于 2013-11-25 04:27:06
回答 1查看 12K关注 0票数 17

在我的网站上,我有很多内联的javascript代码片段。它们中的大多数需要jquery和类似的东西。

但我希望将jquery加载推迟到页面呈现之后。这意味着,我的内联javascript将在jquery加载之前执行。有什么我能做的吗?我正在寻找易于实现的解决方案(我也不能移动我的内联javascript,因为它是自动生成的,而页面正在为用户准备)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-25 04:30:22

如果你能把你的javascript放在文档的末尾,那就更好了。在源代码中使用小的内联javascript代码片段是页面性能的杀手锏。

也就是说,您可以创建一个数组并在此数组上推送函数。然后,在页面的末尾,在加载jquery之后,循环遍历数组并执行每个函数。

例如:

<html>
  ...
  <script>window.loadEvents = [];</script>
  ...
  <script>loadEvents.push(function() { alert("inline code here"); });</script>
  ...
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
  <script>$.each(loadEvents, function(_,f) { f(); });</script>
</html>

然而,正如我所说的,最好是把所有的脚本元素都推到页面的底部,而不是在html和javascript之间来回切换。如果这样做,渲染性能将严重下降。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20180556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档