Простой Javascript, не отображаемый в приложении Cordova для Android;У меня есть метатег CSP, и нет ошибок CSP - PullRequest
0 голосов
/ 05 ноября 2019

В моем приложении Cordova для Android мне нужен встроенный JavaScript для доступа к локальному хранилищу. При тестировании я обнаружил, что не могу включить в свой раздел PHP любой выходной JavaScript, который будет работать. Даже добавление простого скрипта оповещения в начало файла PHP не отображается в браузере, хотя я вижу, что код есть в Chrome Dev Tools, Elements. Если я добавлю этот же скрипт в файл index.html приложения, он будет работать.

Кроме того, в разделе, созданном с помощью PHP, я динамически генерирую кнопки onClick, которые вызывают функцию JS, которая добавляет key-values к * 1004. *. И они работают нормально. Я вижу записи в Chrome Dev Tools.

У меня есть мета Политики безопасности содержимого в index.html, и я пробовал много комбинаций, хотя ошибок CSP не было.

Я читал и пробовал предлагаемые исправления в течение нескольких дней.

Это работает:

Страница PHP:

    echo ' <button id='; 
    echo "'$row1[idNodes]'";
    echo ' class="buttonClass" type="button" value=';
    echo "'$row1[idNodes]'";
    echo ' onclick="setStorage(this.value)">';
    echo '<div id=img';
    echo "$row1[idNodes]";
    echo '>';
    echo '<img src=img/cards.png height=20 width=20>';
    echo '</div>';
    echo '</button> ';

внутри index.js:

function setStorage(val) {
document.addEventListener("deviceready", function(){
localStorage.setItem(val,"1");
}, false);
var imgswap = "img" + val;
console.log(imgswap);
document.getElementById(imgswap).innerHTML = "<img src=img/shovel.png height=25 width=25>";
}

Рендерится, если внутри страницы index.html, но не внутри страницы php, которая при рендеринге представляет собой просто строку внутри самой html-страницы:

<script>
    console.log('Test');
</script>
<?php ...

изображениевывод в браузере по адресу: untweeps.org/img/code.jpg В выводимом изображении браузера вы видите три сценария, но работает только один с Test1. Test3 генерируется динамически, остальные два статически закодированы.

Не получено никаких сообщений об ошибках в консоли Dev Tools. Я хочу иметь возможность читать значения локального хранилища с помощью JS и менять изображение, как в функции set, но пока не могу запустить простой скрипт. Чего мне не хватает?

...