0
我試圖用jQuery更改img標記的src。在Firefox中,它工作正常,但在android上的phonegap開發人員應用程序中,沒有任何反應。Phonegap更改圖像src與jquery不工作在Android上
我在做什麼:
我得到的圖像作爲一個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);
};
請打印圖像變量的日誌。所以你會知道這是因爲URL或圖像src中的問題。 – Krishna
base64Image和url看起來像我所期望的。 – FloRoe
你在圖像變量中獲得了正確的路徑,所以你爲什麼追加genTimestamp()函數。可能是問題在於這個功能。你是否可以添加這個函數並檢查它返回的結果 – Krishna