Meteor中的<script>代码运行正常,但确切的代码移动到.onRendered()没有

时间:2016-03-15 09:20:39

标签: meteor cincopa

我真的很困惑。我正在使用Cincopa在我的Meteor网站上创建和嵌入图像库。

&#xA;&#xA;

这是有效的。该图库显示在页面加载上。:

&#xA;&#xA;
 &lt; template =“test”&gt;&#xA;&#xA; &lt;! - 图片库嵌入代码 - &gt; _&#xA;&#xA; &lt; div id =“cp_widget_a718e3a7-4a35-4f13-b14e-299cc73c6ecb”&gt; ...&lt; / div&gt;&#xA;&#xA; &lt; script type =“text / javascript”&gt;&#xA; var cpo = [];&#xA; cpo [“_ object”] =“cp_widget_a718e3a7-4a35-4f13-b14e-299cc73c6ecb”;&#xA; cpo [“_ fid”] =“A4IAkTttPOWL”;&#xA; var _cpmp = _cpmp || [];&#XA; _cpmp.push(CPO);&#XA; (function(){&#xA; var cp = document.createElement(“script”);&#xA; cp.type =“text / javascript”;&#xA; cp.async = true;&#xA; cp .src =“//www.cincopa.com/media-platform/runtime/libasync.js";
 var c = document.getElementsByTagName(”script“)[0];&#xA; c.parentNode。 insertBefore(cp,c);&#xA;})();&#xA; &LT; /脚本&GT;&#XA;&#XA; &lt;! - 图片库嵌入代码 - &gt; _&#xA;&#xA;&lt; / template&gt;&#xA;  
&#xA;&#xA;

这才不是。除了带有 ... 的空&lt; div&gt; 外,其他任何内容都会显示出来。没有错误消息。

&#xA;&#xA;
 &lt; template name =“test”&gt;&#xA;&#xA; &lt; div id =“cp_widget_a718e3a7-4a35-4f13-b14e-299cc73c6ecb”&gt; ...&lt; / div&gt;&#xA;&#xA;&lt; / template&gt;&#xA;  
&#XA;&#XA;

JS:

&#XA;&#XA;
 <代码> Template.test.onRendered(函数(){&#XA;&#XA; var cpo = [];&#xA; cpo [“_ object”] =“cp_widget_a718e3a7-4a35-4f13-b14e-299cc73c6ecb”;&#xA; cpo [“_ fid”] =“A4IAkTttPOWL”;&#xA; var _cpmp = _cpmp || [];&#xA; _cpmp.push(cpo);&#xA;(function(){&#xA; var cp = document.createElement(“script”);&#xA; cp.type =“text / javascript”;&#xA; cp.async = true;&#xA; cp.src =“//www.cincopa.com/media-platform/runtime/libasync.js";
 var c = document.getElementsByTagName(“script”)[0];&#xA; c.parentNode.insertBefore(cp,c);&#xA;})();&#xA;&#xA;});& #xA;  
&#xA;&#xA;

这是完全相同的代码......

&#xA;&#xA;

我错过了什么Meteor如何加载东西?

&#XA;

1 个答案:

答案 0 :(得分:1)

修改

您需要在全局范围内使这些变量可用,以便脚本访问它们:

更改

var _cpmp = _cpmp || [];

删除'var'关键字并改用窗口

window._cpmp = window._cpmp || [];