【问题标题】:Incorporating external script into Meteor将外部脚本合并到 Meteor
【发布时间】: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


    【解决方案1】:

    有时 Meteor 加载文件的顺序与普通 Web 服务器不同,这意味着您的函数不会像您习惯的那样加载。在头部包含外部脚本很好,但您应该尝试将通常会在 $(document).ready() 函数中的所有内容放在 Template.templatename.rendered 函数中。过去这对我来说已经成功了。

    【讨论】:

      猜你喜欢
      • 2013-01-01
      • 2016-10-14
      • 1970-01-01
      • 2020-01-14
      • 2016-05-27
      • 2022-06-11
      • 2019-02-20
      • 2014-11-06
      • 2022-12-21
      相关资源
      最近更新 更多