每当我尝试运行只有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出现在下拉菜单中),但它没有运行视频。
答案 0 :(得分:1)
这是因为jsfiddle现在使用iframe上的sandbox
attribute显示结果。其效果各不相同:在Chrome中加载了swf但Flash的ExternalInterface
被阻止了,所以swf不能被告知做任何事情。在Firefox中,swf甚至无法加载。
jsbin在编辑模式下也使用了sandbox
的iframe,但在编辑模式下工作正常,因为没有使用iframe。
假设“本地存储”意味着html正在使用file://
协议加载到浏览器中,那么问题也在于浏览器阻止ExternalInterface脚本访问,但原因不同。这是因为浏览器阻止脚本访问加载在一个协议(http
)上的swf,该协议来自加载到另一个(file
)的页面。