Phonegap: Base64-изображение не будет отображаться на Android при его динамической загрузке - PullRequest
0 голосов
/ 02 апреля 2019

Проблема для моего приложения заключается в следующем, используя phonegap вместе с base64

подход: Строка base64 находится в формате json, извлекается с помощью ajax и динамически загружается в DOM

проблема: изображение отображается в браузере, но не на моем устройстве Android

но это работает ...: IF Я поместил base64 непосредственно в DOM (т.е. не загружал его динамически, тогда он работал - точно такая же строка

Нет ошибки консоли, в ADB ничего не отображается о CSP или о чем-либо еще.

В чем может быть причина?

фрагмент кода:

        $.ajax({ 

        url: 'json/base64_4.json',
        success: function(data) {

            var imageData = $(data);

            $.each(imageData, function(index, value) {

                var url = value.image;
                //d.lg('URL: ' + url);

                var imgSrc = $('<img src/>');
                imgSrc.attr('id', 'myId');
                imgSrc.attr('src', url);
                imgSrc.attr('alt', 'myAlt');
                imgSrc.appendTo('#base64');
            });

        }, error: function() {
            d.lg("ERROR ON FETCHING BASE64");
        }
    }); 

* 1027 JSON *

[
 {
    "image": "data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="
 }
]

html работает следующее, то есть если я помещаю контент прямо в DOM

    <p>Taken from wikpedia</p>
<img src="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAUA
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot" />
</div> 
...