Phonegap使用jquery在Android

时间:2016-09-01 11:48:45

标签: javascript android jquery cordova jquery-mobile

我尝试用jquery更改img标签的src。在Firefox中,它工作正常,但在android上的phonegap开发者应用程序中,没有任何反应。

我在做什么:

我使用ajax请求将图像作为base64。如果请求完成,我将从图像中创建一个URL对象,并将img标记的src更改为url对象。这是我的代码:

        $.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);    
   };

1 个答案:

答案 0 :(得分:1)

而不是.prop(“src”

尝试

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

也区分大小写