渲染时不显示brightcove(不是页面刷新 - 普通Backbone.js视图重新渲染)

时间:2013-08-23 22:11:50

标签: javascript backbone.js brightcove

TLDR;视频播放器不会在重新渲染(骨干网视图)

上显示

是否有一些全球状态的brightcove保持?

我正在使用backbone.js并使用带有此jst.ejs模板的主干View呈现页面。它第一次完美地工作。但是,如果我导航到下一页然后返回,它就不再显示了。

<script language="JavaScript" type="text/javascript" src="http://admin.brightcove.com/js/BrightcoveExperiences.js"></script>
<script>
  window.BCVideo = BCVideoFunction(); //BCVideoFunction as module pattern.
</script>

<object id="bc_experience" class="BrightcoveExperience">
  <param name="includeAPI" value="true" />
  <param name="templateLoadHandler" value="BCVideo.onTemplateLoad" />
  <param name="templateReadyHandler" value="BCVideo.onTemplateReady" />
  <param name="bgcolor" value="#FFFFFF" />
  <param name="width" value="100%" />
  <param name="height" value="100%" />
  <param name="playerID" value="1426444499001" />
  <param name="playerKey" value="AQ~~,AAABTAHETAE~,G1RKcv5og48msI78DncnAb9MEySkUi_b" />
  <param name="isVid" value="true" />
  <param name="isUI" value="true" />
  <param name="wmode" value="transparent"/>
  <param name="dynamicStreaming" value="true" />
  <param name="wmode" value="transparent"/>
  <param name="@videoPlayer" value="<%= variables.video_id %>" />
</object>

重新渲染(第二次访问)后,我可以看到对象存在

 > window.bc_experience  `  
   <object type=​"application/​x-shockwave-flash" data=​"http:​/​/​c.brightcove.com ...
 # window.bc_experience.remove() doesn't help

从dom中删除它无济于事。 是的...感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您应避免在模板中使用<script>标记。外部脚本应该在模板之外,您可以替换以下内容:

<script>
  window.BCVideo = BCVideoFunction(); //BCVideoFunction as module pattern.
</script>

使用:

<% window.BCVideo = BCVideoFunction(); %>