DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript基礎知識 >> 快速解決Canvas.toDataURL 圖片跨域的問題
快速解決Canvas.toDataURL 圖片跨域的問題
編輯:JavaScript基礎知識     

如題,在將頁面的圖片地址進行本地輸出時(Html2Canvas.js),因不同源存在跨域問題,會出現toDataURL訪問權限問題:

【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.】

解決方案:

根據錯誤分析需要在控制頭增加“Access-Control-Allow-Origin”,即允許訪問源文件權限,那麼我們對這個頁面【注意是要輸出頁面的圖片】這樣處理:

var img = new Image;
img.onload = myLoader;
img.crossOrigin = 'anonymous'; //可選值:anonymous,*   
img.src = 'http://myurl.com/....';

或者是HTML中

<img src="" id="imgclcd" crossorigin="anonymous">

 核心是請求頭中包含了 Origin: "anonymous"或"*" 字段,響應頭中就會附加上 Access-Control-Allow-Origin: * 字段,問題解決。

以上這篇快速解決Canvas.toDataURL 圖片跨域的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved