【发布时间】:2020-05-21 16:07:32
【问题描述】:
我在 Meteor 中加入了一个外部主题。它在 body 标签结束之前加载了一些脚本。 <script> 标签在 Meteor 模板的 <body> 内时不起作用。
主题使用 js,如 Bootstrap、jquery 和各种其他可能的外部 JS 库(它也放在最后,在 </body> 之前。最后一个脚本是这个 custom.js 脚本,它是这个主题特定的。除了常规函数语句之外,脚本内部还有两个匿名函数,两个位于顶层的if 块,一个$(document).ready 回调和一个$(window).load 回调。
加载脚本的最佳方式是什么?我试图移动 Meteor 模板的<head> 中的所有脚本。但是缺少一些效果。我认为$(window).load 可能没有在正确的时间被调用。所以我在Template.scriptAppend.rendered 中调用它,其中scriptAppend 是</body> 结束之前的部分模板。我还将两个匿名函数和两个if 块移动到$(window).load 中。它有效,但它是如此的麻烦。有没有办法让脚本保持原样?
在所有这些之前,我最初只是认为我会使用 jQuery 在 Template.scriptAppend.rendered 中添加 <script> 标签,但似乎没有效果,我不知道为什么。
所以我的问题是,(1) 有没有办法让脚本保持原样,(2) Meteor <head> 什么时候得到处理?显然$(window).load 没有在脚本预期的正确时间执行。
【问题讨论】:
标签: javascript meteor