HTML5 Canvas - origin-clean 标志如何设置为 false?

chu*_*uls 5 html video canvas cross-domain

我开始使用 HTML5 画布和视频,但我一直遇到这个问题:我尝试了演示和实验,但除非我将它们上传到我的网络服务器,否则我无法查看它们。目前这并没有造成大问题,因为我正在处理相对较小的文件,但实际上我正在准备一个更大的项目,这个问题很快就会变得非常不方便。而且我只想说清楚我的事实。我一直在使用我自己创建的视频和演示中的视频。我处理了很久以前编码的视频,并且在我的代码中使用它们之前我处理了我编码的视频。结果总是相同,使用 HTML5 视频容器有效,使用 Canvas 内的视频不行,Canvas 只是不显示任何视频(除非,就像我提到的,我将它们上传到服务器)。

这是我目前找到的信息:

http://html5doctor.com/video-canvas-magic/

http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#security-with-canvas-elements

(还有一些关于w3的信息,但我不允许发布两个以上的链接)

据我所知,我的画布一定被污染了,我的文件似乎不是“原始干净的”,但这就是我所能弄清楚的。我不明白为什么。

有没有人对此有更多了解并可以解释它的工作原理和原因?

rob*_*rtc 2

http://在浏览器中,从 URI 加载的任何内容和从 URI 加载的任何内容之间存在严格的分离file://。这实际上是相当明智的,否则您从网络加载的随机页面将能够从您的硬盘驱动器中读取文件。还有一些适用于file://URI 本身的附加限制,同样,这些限制的目的是不允许您从网络下载的文件在您的硬盘上自由运行。

话虽如此,如果您的 HTML 文件和视频都位于硬盘上的同一目录中,那么一切都应该仍然有效,因为所有这些条件都应该得到满足。

如果您仍然遇到问题,本地开发的一种有用方法是使用轻量级 Web 服务器。就我个人而言,我使用Python 的 SimpleHTTPServer,因为它已经安装在我的机器上,但还有许多其他的 - 通常是 Web 开发框架(例如 Ruby on Rails)内置了它们。