【问题标题】:How to properly embed quicktime video in Ember如何在 Ember 中正确嵌入 quicktime 视频
【发布时间】:2014-08-16 13:16:54
【问题描述】:

我有一个视频链接列表,当点击一个时,相应的视频会出现在侧面。虽然它在大多数情况下似乎工作正常,但如果我点击另一个视频的链接,当前加载的视频不会被替换。 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)
)

【问题讨论】:

  • 证明问题的小提琴会有所帮助

标签: javascript video ember.js quicktime


【解决方案1】:

这是嵌入对象的一个​​已知限制,不同的浏览器实现它们的方式不同。在标签上设置 src 可能会也可能不会真正触发嵌入对象内部的属性。

您必须将标记视为更多的构造函数,而不一定是设置和更改嵌入对象本身的属性的网关。这几乎会破坏和重新创建元素。

How to change the value of embed src with JavaScript?

JavaScript: Changing src-attribute of a embed-tag

【讨论】:

  • 谢谢!很高兴知道它为什么会这样工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-01
  • 1970-01-01
  • 2011-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多