我尝试用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);
};
答案 0 :(得分:1)
而不是.prop(“src”
尝试
var elem = document.getElementById('myimg'); myimg.src = “theimage.jpg”;
也区分大小写