HTML5 机架空间访问控制允许源不起作用



所以我在Rackspace云文件上有一些视频文件,但由于我使用HTML5函数(.toDataURL()),"SECURITY_ERR:DOM异常18"不断被抛出。当我在服务器上使用视频文件时,我的代码工作正常。

所以我阅读了关于CORS的信息,并修改了我的Rackspace云文件标题,如下所示:

access-control-allow-credentials:   true    
access-control-allow-origin:    [my domain here]    
access-control-allow-headers:   Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control
access-control-allow-methods:   OPTIONS, GET, POST  
access-control-expose-headers:  X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name
Content-Type:   video/webm

但是 DOM 异常 18 错误不断被抛出。我不知道问题出在哪里。我检查了HTTP标头是否由我在Rackspace上的视频文件输出,web-sniffer.net 它们是,那么有什么问题,为什么它不起作用?

我已经在IE9,Chrome 19,Safari 5.1.2和Aurora 12.0a2上尝试过,它们不适用于任何这些浏览器,所以我确定这不是浏览器问题。

我只需要摆脱这个 DOM 异常 18 错误。

toDataURL() 将不起作用,如果您的内容位于 CDN(或当前主机以外的任何其他主机上)这是 CANVAS 元素的安全限制。

比较 http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#security-with-canvas-elements,了解有关禁止内容的详细信息

基本上,每当您想对画布中的图像或视频执行某些操作并保存结果时,您都必须将所有先前的内容放在同一个域中。 一种解决方法是获取所需的文件并在用户编辑时临时保存它们

相关内容

  • 没有找到相关文章