在meteor模板中包含javascript

在meteor模板中包含javascript,javascript,meteor,Javascript,Meteor,我对meteor非常陌生,正在尝试运行一个使用flowplayer视频播放器的页面 通常,安装flowplayer所需要做的就是在页面中添加一个js和css文件 我已将这些文件添加到/public文件夹,并在head中添加了指向它们的链接。这些文件显示在页面上,但播放机显示不正常-似乎在页面中javascript不像在标准页面中那样运行 您正在寻找帮助者: Template.body.helpers({ tasks: [ { text: 'This is task 1' },

我对meteor非常陌生,正在尝试运行一个使用flowplayer视频播放器的页面

通常,安装flowplayer所需要做的就是在页面中添加一个js和css文件


我已将这些文件添加到/public文件夹,并在head中添加了指向它们的链接。这些文件显示在页面上,但播放机显示不正常-似乎在页面中javascript不像在标准页面中那样运行

您正在寻找帮助者:

Template.body.helpers({
  tasks: [    
    { text: 'This is task 1' },    
    { text: 'This is task 2' },    
    { text: 'This is task 3' },    
  ],    
});
在您的HTML模板中:

  <div class="container">
    <header>    
      <h1>Todo List</h1>    
    </header>     
    <ul>
      {{#each tasks}}    
        {{> task}}    
      {{/each}}    
    </ul>    
  </div>
在您的HTML中:

<template name="leaderboard">
    {{player}}
    {{videoPlayer}}
</template>

{{player}}
{{videoPlayer}}

您正在寻找帮助者:

Template.body.helpers({
  tasks: [    
    { text: 'This is task 1' },    
    { text: 'This is task 2' },    
    { text: 'This is task 3' },    
  ],    
});
在您的HTML模板中:

  <div class="container">
    <header>    
      <h1>Todo List</h1>    
    </header>     
    <ul>
      {{#each tasks}}    
        {{> task}}    
      {{/each}}    
    </ul>    
  </div>
在您的HTML中:

<template name="leaderboard">
    {{player}}
    {{videoPlayer}}
</template>

{{player}}
{{videoPlayer}}

一个纯js解决方案是在
onRendered
函数中加载脚本:

Template.yourTemplate.onRendered(function() {
      $(document).ready(function() {
        var script = document.createElement("script");
        script.type="text/javascript";
        script.src = "REMOTE_SCRIPT_URL";
        $("#script_div").append(script);
      });
});

或者您可以使用,例如,包括外部文件。

一个纯js解决方案是在
onRendered
函数中加载脚本:

Template.yourTemplate.onRendered(function() {
      $(document).ready(function() {
        var script = document.createElement("script");
        script.type="text/javascript";
        script.src = "REMOTE_SCRIPT_URL";
        $("#script_div").append(script);
      });
});

或者您可以使用,例如,包括外部文件。

如果库只公开一个全局
var
(而不是一个窗口全局),那么您应该将它放在特殊文件夹中,以便Meteor知道它不应该将JS文件包装在单独的作用域中,而是将其作为一个老式的库(类似于
标记)包括在内。否则,由于模板可能会呈现多次,因此此代码将导入外部脚本的次数与导入外部脚本的次数相同。重新导入和重新执行库后,某些库和客户端代码可能会由于对象引用不匹配而中断。最好包含一种机制,使同一
src
不动态导入多次。否则,由于模板可能会呈现多次,因此此代码将导入外部脚本的次数与导入外部脚本的次数相同。重新导入并重新执行库后,由于对象引用不匹配,某些库和客户端代码可能会中断。