2013-07-05 12 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で発生します。

トラックsrcを "/foo.vtt"に設定すると動作します。データURIの "Origin"は現​​在のページURIではありませんか?

Jsfiddle example here.(コンソールでエラー出力を見てください。)データのURIを経由してトラックデータを設定するための

+0

この問題は解決しましたか? – simoncereska

+0

これは16ヶ月前の質問ですか?なぜ誰かがこれを編集するだろう – krzysiej

+0

@krzysiej SEはフォーラムではないからです。質疑応答サイトです! – v010dya

答えて

0

ブラウザのサポートは不完全でバギーのように見えます。 Hereは、各ブラウザのバグレポートのリストです。

Firefoxは、base64でエンコードされたデータURI(jsfiddle)を使用してHTMLに直接トラックを設定するように見えます。 JavaScriptを使用してトラックsrcを更新すると動作するように見えますが、使用中の実際のトラックデータには影響しないようです。

JavaScriptを使用してトラックデータを実際に更新する必要がある場合は、手動でWEBVTTテキストを解析し、一度に1つのキューに追加できます。 Thisページには、VTTデータを直接ページに含めることができないすべてのメソッドが記述されており、最後に解析とキューロードの例が示されています。