2013-08-01 155 views
2

我使用html2canvas(來自html2canvas.hertzen.com)來捕獲屏幕截圖。我得到這樣的奇怪的錯誤: 我的網頁的代碼被放在一個主機上,說主機A. 如果我的網頁包含另一主機上的圖像,說主機B,然後我打這個錯誤: 跨源圖像負載被跨源資源共享策略拒絕跨源資源共享策略拒絕的跨源圖像加載

但令人困惑的是,如果主機B是臉書(我的圖片是直接鏈接到臉書https://fbcdn-profile-a.akamaihd.net/hprofile-ak-ash4/372701_100000684388457_1551561655_q.jpg),那麼錯誤消失。

我的功能

html2canvas([document.body], { 
        useCORS : true, 
        logging : true, 
        onrendered : function(canvas) { 
         document.body.appendChild(canvas); 
         var myImage = canvas.toDataURL("image/png"); 
         window.open(myImage); 
        } 

任何人都得到小費了嗎? TKS

解決方案

html2canvas([document.body], { 
            useCORS: true, 
            proxy: "Server", 
            onrendered : function(canvas) {        
             ListUCapture = canvas.toDataURL("image/png");               
            } 
        }); 
Server is server of node.js 

回答

3

如果你想跨域圖像加載到一個畫布,你需要或者服務具有跨來源頁眉或相同的起源下的圖像。 Facebook的下這種形象被送達下列頭選項設置:

Access-Control-Allow-Origin:*

意義,它可以跨來源裝有useCORS選項。但是,看起來您的主機B並未使用跨源標頭集來提供它們。

+0

嗨Nklas,你的答覆tks,我會嘗試現在。 – HoangHieu

相關問題