ファイル パスを生成するために createObjectURL() を使用して <input> を介して <video> の src をローカル ビデオ ファイルに設定するときに、Internet Explorer 10 でこの問題が発生した人はいますか?
エラー: Internet Explorer 10 が「無効なソース」というエラーを出しています。
サンプル: Chrome v27 と Firefox v21 では動作するが、Internet Explorer v10 では動作しない単純な html の例があります。
現在の回避策: ドメインを IE 10 信頼済みサイトに追加してから、<input> の「値」を参照します (私の例を含めてください)。しかし確かに window.URL.createObjectURL() 機能は、この回避策を回避するように設計されています。奇妙なことに、<sound> 要素と <img> 要素は、createObjectURL() を使用して IE 10 で正常に動作します。
アイデアはありますか?何か不足していますか?
前もって感謝します。
<!DOCTYPE html>
<html>
<head>
<title>Internet Explorer 10 : HTML5 Video.Src : 'Invalid Source' error when setting local file as source using createObjectURL()</title>
</head>
<body>
<input type="file" id="filesInputVideo" name="files[]" onchange="handleVideoFileBrowse(event.target)" /> <br />
<video id="videoElement" width="350" style="border-style: solid" controls></video>
<script type="text/javascript">
var createObjectURL = (window.URL && URL.createObjectURL.bind(URL)) ||
(window.webkitURL && webkitURL.createObjectURL.bind(webkitURL)) ||
window.createObjectURL;
function handleVideoFileBrowse(target)
{
var url = createObjectURL(target.files[0]); // Works in Chrome v27 and Firefox v21, but NOT in Internet Explorer v10.0.9200
//url = target.value; // My temporary workaround for IE 10, but only works if the domain has been added as Trusted in IE: Internet Options - Security - Trusted sites.
document.getElementById("videoElement").src = url;
}
</script>
</body>
</html>