2013-09-24 60 views
2

我試圖從畫布上獲得的圖像,它的工作在PC上的瀏覽器,但無法在手機上(我在Safari瀏覽器的iPhone測試)...爲什麼toDataURL不能在手機上獲取畫布內容?

下面是代碼:

$('#draw').click(function() {    
    $('#drawing').css("visibility", "visible");   
    var drawing = document.getElementById("drawing"); 
    var con = drawing.getContext("2d");   
    var img = new Image(); 
    img.src = "http://www.deque.com/wbcntnt928/wp-content/dquploads/jquery_logo.png"; 
    img.onload = function() {     
     con.drawImage(img, 0, 0, 250, 250); 
     //Generate Image 
     var drawing = document.getElementById("drawing"); 
     var dataURL = drawing.toDataURL(); //Does nothing on mobile, not even an error 
     document.getElementById("result").src = dataURL; 
    };     

}); 

任何暗示爲什麼?

+0

它是什麼回報呢? – fiddler

+1

@fiddler,它不會返回任何東西......沒有任何反應,我嘗試用alert來顯示內容,但沒有顯示,因爲它停在toDataUrl線...... – CarinaPilar

+0

我剛纔看到它沒有工作Safari瀏覽器,它適用於Chrome瀏覽器和三星瀏覽器的S3 ... Safari無法解析toDataURL,我不明白爲什麼... – CarinaPilar

回答

0

我有同樣的問題。測試HTC Desire與Android 2.3,HTC One與Android 4.0和iPhone 7s ...我運行了toDataURL()但只獲得「data:」作爲輸出。

根據here它不支持Android,不知道關於iOS7,但它似乎不是。

Btw。是否有兩次致電var drawing = document.getElementById("drawing");的理由?

+0

沒有理由這兩次調用...是的,我想這不支持... =/ – CarinaPilar

+0

嘗試更小的畫布尺寸。我認爲它耗盡內存。當我縮小畫布時,我開始收集「data:」,並嘗試解析相機中的照片,然後開始獲取數據。 –

+1

那麼,當我回答它不支持。據我所知,應該是現在,儘管有關於表演的抱怨。 @CarinaPilar將不得不再次嘗試;) –

相關問題