我有一个视频链接列表,当点击一个视频链接时,旁边会显示相应的视频。虽然它似乎在大多数情况下工作正常,但如果我点击指向另一个视频的链接,则不会替换当前加载的视频。 src属性和uri相应地更改,但视频本身不会更新。有没有办法在保持html结构的同时用另一个视频正确替换当前视频?当我用视频视图完全替换视频视图时,我没有任何问题,但这不是我正在寻找的行为。
HTML
<script type="text/x-handlebars" data-template-name="videos">
{{#if mediaLength}}
<div class="row">
<div class="col-md-3">
{{#each itemController="video"}}
<div class="video thumbnail">
<h3>{{#link-to 'video' this}}{{time createdAt}}{{/link-to}}</h3>
({{part}})
</div>
<hr>
{{/each}}
</div>
<div class="col-md-7">
{{outlet}}
</div>
</div>
{{else}}
stuff
{{/if}}
</script>
<script type="text/x-handlebars" data-template-name="video">
<div class="qtplayer-embed" style=" width:270px; height:496px;">
<object {{bind-attr classid=classid width=width height=height codebase=codebase}}>
<param name="src" {{bind-attr value=url}}>
<param name="autoplay" {{bind-attr value=autoplay}}>
<param name="scale" {{bind-attr value=scale}}>
<param name="enablejavascript" {{bind-attr value=enablejavascript}}>
<param name="postdomevents" {{bind-attr value=postdomevents}}>
<param name="showlogo" {{bind-attr value=showlogo}}>
<embed type="video/quicktime" {{bind-attr src=url width=width height=height pluginspage=pluginspage autoplay=autoplay scale=scale enablejavascript=enablejavascript postdomevents=postdomevents showlogo=showlogo}}>
</object>
</div>
</script>
路线
App.Router.map ->
@resource "videos", ->
@resource "video",
path: "/:video_id"
App.VideosRoute = Ember.Route.extend(
model: ->
this.store.find('video')
)
App.VideoRoute = Ember.Route.extend(
model: (params) ->
this.store.find('video', params.video_id)
)
答案 0 :(得分:1)
这是嵌入对象的已知限制,不同的浏览器以不同的方式实现它们。在标记上设置src可能会或可能不会实际触发嵌入对象内的属性。
您必须将标记视为更多构造函数,而不一定是设置和更改嵌入对象本身属性的网关。这几乎留下了破坏和重建元素。