javascript - 为什么 toDataURL 在移动端获取不到 Canvas 内容?

标签 javascript iphone html mobile canvas

我正在尝试从 Canvas 获取图像,它适用于 pc 浏览器,但不适用于移动设备(我在 Safari 中的 iPhone 上测试过)...

代码如下:

$('#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;
    };                  

});

有什么原因的提示吗?

最佳答案

我也有同样的问题。在搭载 Android 2.3 的 HTC Desire、搭载 Android 4.0 的 HTC One 和 iPhone 7s 上进行了测试...我运行了 toDataURL() 但只得到“数据:”作为输出。

根据 here Android 不支持它,不知道 iOS7,但似乎也不支持。

顺便说一句。是否有调用 var drawing = document.getElementById("drawing"); 两次的原因?

关于javascript - 为什么 toDataURL 在移动端获取不到 Canvas 内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18972038/

相关文章:

javascript - Chrome 扩展程序会破坏网页,使它们看起来永远加载?

iphone - 不必要的失真:核心图像滤镜正在旋转我的图像

html - 在我的示例中,六边形内的图像

iphone - 属性(property) list 对比。 NS词典

html - CSS 不会覆盖其他语句

html - 将两个视口(viewport)与 css 媒体查询一起使用

javascript - 在向下滚动事件时更改 Logo 图像(并在向上滚动时再次将其更改回来)

javascript - 使用 JavaScript 的 Flickr API

javascript - 从服务器返回的日期获取星期几

ios - 具有多种字体颜色的 UILabel 文本