Я пытаюсь изменить src тега img с помощью jquery. В firefox он работает нормально, но в приложении для Android-смартфонов на андроиде ничего не происходит.Phonegap изменить изображение src с jquery не работает на Android
Что я делаю:
Я получаю изображение base64 с Ajax запроса. Если запрос завершен, я создаю объект URL с изображением и изменяю src тега img на объект 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