Phonegap改变图像src与jquery在Android上不工作

Phonegap change image src with jquery not working on Android

本文关键字:Android 工作 jquery 改变 图像 src Phonegap      更新时间:2023-09-26

我尝试用jquery改变一个img标签的src。在firefox中可以正常工作,但在android上的phonegap开发者应用程序中,什么也没发生。

我在做什么:

我得到一个图像base64与ajax请求。如果请求完成,我将从图像创建一个URL Object,并将img标记的src更改为URL Object。下面是我的代码:

        $.ajax({
        type: 'GET',
        dataType: 'json',
        url: MySecretPHPFunctionOnAServerThatReturnsABase64Image..., 
        complete: function(data) {
            var base64Image = data.responseText;
            var image = makeUrlObject(base64Image, "image/jpeg");
            // ERROR!!! :-)
            // Only working in Browser, not on android... 
            $("#scanPreview").prop("src", image  + '?' + genTimestamp());
        },
        error: function() {}
    });

我认为makeUrlObject函数不是错误的原因,但如果你想看到它,为了确保,或者如果我忽略了一些东西;-)

    function makeUrlObject(dataURL, typeURL) {        
        var binStr = atob(dataURL);
        var buf = new ArrayBuffer(binStr.length);
        var view = new Uint8Array(buf);
        for(var i = 0; i < view.length; i++)
            view[i] = binStr.charCodeAt(i);
        var blob = new Blob([view], {type: typeURL});
        binStr=null;
        buf = null;
        view = null;
        URL = window.URL || window.webkitURL;
        return URL.createObjectURL(blob);    
   };

代替。prop("src"

var elem = document.getElementById('myimg');myimg.src ="theimage.jpg";

也区分大小写