快速解決Canvas.toDataURL 圖片跨域的問(wèn)題
如題,在將頁(yè)面的圖片地址進(jìn)行本地輸出時(shí)(Html2Canvas.js),因不同源存在跨域問(wèn)題,會(huì)出現(xiàn)toDataURL訪問(wèn)權(quán)限問(wèn)題:
【Redirect at origin 'http://sub1.xx.com' has been blocked from loading by Cross-Origin Resource Sharing policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://sub2.xx.com' is therefore not allowed access.】
解決方案:
根據(jù)錯(cuò)誤分析需要在控制頭增加“Access-Control-Allow-Origin”,即允許訪問(wèn)源文件權(quán)限,那么我們對(duì)這個(gè)頁(yè)面【注意是要輸出頁(yè)面的圖片】這樣處理:
var img = new Image; img.onload = myLoader; img.crossOrigin = 'anonymous'; //可選值:anonymous,* img.src = 'http://myurl.com/....';
或者是HTML中
<img src="" id="imgclcd" crossorigin="anonymous">
核心是請(qǐng)求頭中包含了 Origin: "anonymous"或"*" 字段,響應(yīng)頭中就會(huì)附加上 Access-Control-Allow-Origin: * 字段,問(wèn)題解決。
以上這篇快速解決Canvas.toDataURL 圖片跨域的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
javascript學(xué)習(xí)筆記整理(概述、變量、數(shù)據(jù)類型簡(jiǎn)介)
這篇文章主要介紹了javascript學(xué)習(xí)筆記整理(概述-變量-數(shù)據(jù)類型),需要的朋友可以參考下2015-10-10JavaScript學(xué)習(xí)筆記之JS事件對(duì)象
本文介紹了javascript的事件對(duì)象的相關(guān)資料,需要的朋友可以參考下2015-01-01document 和 document.all 分別什么時(shí)候用
document 和 document.all 分別什么時(shí)候用...2006-09-09詳解JavaScript對(duì)W3C DOM模版的支持情況
這篇文章主要介紹了詳解JavaScript對(duì)W3C DOM模版的支持情況,在JS前端編程的兼容性方面可作參考使用,需要的朋友可以參考下2015-06-06深入理解JavaScript系列(49):Function模式(上篇)
這篇文章主要介紹了深入理解JavaScript系列(49):Function模式(上篇),本文講解了回調(diào)函數(shù)、配置對(duì)象、返回函數(shù)、偏應(yīng)用、Currying等內(nèi)容,需要的朋友可以參考下2015-03-03