video.js techOrder flash - 此视频未找到兼容的来源

时间:2014-11-07 13:55:19

标签: flash html5-video video.js

每当我尝试运行只有data-setup='{"techOrder": ["flash"]}'设置的视频时,我才能使其正常工作。

在Chrome,Opera,FF和IE上测试过。只有最后2个显示消息"未找到此视频的兼容来源&#34 ;;其他人仍然没有反应。


编辑:问题也存在于本地存储中

<html>
    <head>
        <script src="http://vjs.zencdn.net/c/video-js.css"></script>
        <script src="http://vjs.zencdn.net/c/video.js"></script>
    </head>
    <body>
        <div class="container">
            <video id="example_video_1" class="video-js vjs-default-skin"
              controls preload="auto" width="640" height="264"
              poster="http://video-js.zencoder.com/oceans-clip.png"
              data-setup='{"techOrder": ["flash"]}'>
                 <source src="http://video-js.zencoder.com/oceans-clip.mp4" type='video/mp4' />
                 <source src="http://video-js.zencoder.com/oceans-clip.webm" type='video/webm' />
                 <source src="http://video-js.zencoder.com/oceans-clip.ogv" type='video/ogg' />
                 <p class="vjs-no-js">To view this video please enable JavaScript, and consider upgrading to a web browser that <a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a></p>
            </video>
        </div>

    </body>
</html>

上面的代码初始化了Flash播放器(VideoJS Flash组件v3.0出现在下拉菜单中),但它没有运行视频。

1 个答案:

答案 0 :(得分:1)

这是因为jsfiddle现在使用iframe上的sandbox attribute显示结果。其效果各不相同:在Chrome中加载了swf但Flash的ExternalInterface被阻止了,所以swf不能被告知做任何事情。在Firefox中,swf甚至无法加载。

jsbin在编辑模式下也使用了sandbox的iframe,但在编辑模式下工作正常,因为没有使用iframe。

假设“本地存储”意味着html正在使用file://协议加载到浏览器中,那么问题也在于浏览器阻止ExternalInterface脚本访问,但原因不同。这是因为浏览器阻止脚本访问加载在一个协议(http)上的swf,该协议来自加载到另一个(file)的页面。