4

ファイル パスを生成するために 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>
4

0 に答える 0