2013-07-05 29 views
8

我想将<track src设置为“data:”URI。Html5视频轨迹数据uri

<video> 
    <source src="http://the.othersite/foo.mp4"> 
    <track src="data:text/vtt,WEBVTT"> 
</video> 

不过,我得到的跨来源资源共享策略拒绝

跨源文本轨道负荷。

Chrome和Safari都出现此错误。

如果我将track src设置为“/foo.vtt”,它可以工作。数据URI的“起源”不是当前页面的URI?

Jsfiddle example here.(看在控制台的错误输出。)

+0

你解决了这个问题吗? – simoncereska

+0

这是一个16个月大的问题吗?为什么有人会编辑这个 – krzysiej

+0

@krzysiej因为SE不是论坛。这是一个问答网站! – v010dya

回答

0

浏览器支持用于设定经由数据URI似乎不完整和马车轨道数据。 Here是每个浏览器的错误报告列表。

Firefox似乎支持使用base64编码的数据URI直接在HTML中设置轨迹(jsfiddle)。通过JavaScript更新轨道src似乎可行,但似乎不会影响正在使用的实际轨道数据。

如果您确实需要通过JavaScript更新曲目数据,则可以手动解析WEBVTT文本并逐个添加一个Cue。 This页面描述了所有不直接在页面中包含VTT数据的方法,并给出了最后解析和提示加载的示例。