*新闻详情页*/>
日期:2020-12-14 类型:科技新闻 我要分享
关键词:免费自助建站,手机建站平台,wap建站,免费自助建站平台,H5网站,H5模板建站
HTML 标准文本文档为 images 引进了 crossorigin 特性, 根据设定适度的头信息内容 CORS , 能够从别的站点载入 img 照片, 并用在 canvas 中,就像从当今站点(current origin)立即免费下载的1样.
crossorigin 特性的应用细节, 请参照CORS settings attributes.
甚么是 “被污染的(tainted)” canvas?
虽然沒有CORS受权还可以在 canvas 中应用图象, 但这样做就会污染(taints)画布。 要是 canvas 被污染, 就不可以再从画布中提取数据信息, 也便是说不可以再启用 toBlob(), toDataURL() 和 getImageData() 等方式, 不然会抛出安全性不正确(security error).
这具体上是以便维护客户的本人信息内容,防止未经批准就从远程控制web站点载入客户的图象信息内容,导致隐私保护泄露。
(译者注: 假如客户登录过QQ等社交媒体网站, 倘若不做维护 ,则将会开启某个网站后,该网站运用 canvas 将客户的照片信息内容获得,提交,进而引起泄漏.)
示例: 从别的站点储存照片
最先, 照片服务器务必设定相应的 Access-Control-Allow-Origin
回应头。加上 img 元素的 crossOrigin 特性来恳求头。例如Apache服务器,能够复制HTML5 Boilerplate Apache server configs 中的配备信息内容, 来开展答复:
<IfModule mod_setenvif.c> <IfModule mod_headers.c> <FilesMatch "\.(cur|gif|ico|jpe?g|png|svgz?|webp)$"> SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=IS_CORS </FilesMatch> </IfModule> </IfModule>
这些设定起效以后, 便可以像本站的資源1样, 储存别的站点的照片到 DOM储存 当中(或别的地区)。
var img = new Image, canvas = document.createElement("canvas"), ctx = canvas.getContext("2d"), src = "http://example.com/image"; // 实际的照片详细地址 img.crossOrigin = "Anonymous"; img.onload = function() { canvas.width = img.width; canvas.height = img.height; ctx.drawImage( img, 0, 0 ); localStorage.setItem( "savedImageData", canvas.toDataURL("image/png") ); } img.src = src; // 保证缓存文件的照片也开启 load 恶性事件 if ( img.complete || img.complete === undefined ) { img.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="; img.src = src; }
访问器适配性
Desktop
Mobile
另请参照
Chrome:在WebGL中应用跨域照片
HTML标准-crossorigin特性
以上便是本文的所有內容,期待对大伙儿的学习培训有一定的协助,也期待大伙儿多多适用脚本制作之家。
Copyright © 2002-2020 免费自助建站_手机建站平台_wap建站_免费自助建站平台_H5网站,H5模板建站 版权所有 (网站地图) 粤ICP备10235580号