网站调用别的域名的video,利用canvas截图,报错!!!

把视频画在canvas上用drawImage()时没有报错,但是利用getImageData获取canvas画布的像素时报错


“Uncaught DOMException: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The canvas has been tainted by cross-origin data. at HTMLImageElement.img.onload”;


于是在网上查了一下原来是跨域的问题,于是就照着别人的方法去做。


1.在video标签里添加 crossOrigin="anonymous";添加后现在连视频都没法显示了。

提示:“No 'Access-Control-Allow-Origin' header is present on the requested resource.”;


2.在上面的错误中再继续找解决办法,原因是要配置apache反向代理(用的是PHPstud集成包)于是配置


在 httpd.conf 里面取消注释以下两行  

**#LoadModule proxy_module modules/mod_proxy.so 

#LoadModule proxy_http_module modules/mod_proxy_http.**


在vhosts.conf


把一个共享磁盘映射到本地配置的虚拟主机域名(这个磁盘用来专门放视频的)

<VirtualHost 1270.0.1:8080>

DocumentRoot "Z:"

<Directory "Z:">


省略......

</Directory>

</VirtualHost>


网站域名

<VirtualHost _default_:80>

DocumentRoot "D:phpstudyWWW"

<Directory "D:phpstudyWWW">


省略......

</Directory>


ProxyRequests Off

<Proxy *>

    Order deny,allow

    Allow from all

</Proxy>

  ProxyPass / http://127.0.0.1:8080/

  ProxyPassReverse / http://127.0.0.1:8080/

</VirtualHost>


以上这些都是正常的,就是在截图调用getImageData报错。实在找不到原因了


当年话下
浏览 576回答 1
1回答

天涯尽头无女友

getImageData还报什么错?还是跨域吗
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript