У меня есть небольшой проект приложения чата, который я создал с помощью node.js, express и socket.io. И установил эти модули с помощью npm. Приложение работает на рабочих столах, как и ожидалось. Я пытаюсь построить Android-версию приложения с Cordova. И когда я запускаю cordova run android
, он открывает приложение на моем телефоне и загружает основной интерфейс без проблем, однако он действительно не работает (функции), и я получаю эту ошибку в удаленных устройствах консоли разработчика Chrome, когда я добавляю файл socket.io js, например, в index.html
<script src="/socket.io/socket.io.js"></script>
socket.io.js: 1 Не удалось загрузить ресурс: net :: ERR_FILE_NOT_FOUND
Так как приложение работает на порту 3000 на локальном хосте , я попытался добавить скрипт socket.io js, как это, в index.html
<script src="http://localhost:3000/socket.io/socket.io.js"></script>
И тогда возникает эта ошибка
Отказался от загрузки сценария 'http://localhost:3000/socket.io/socket.io.js', поскольку он нарушает следующую директиву политики безопасности содержимого: "script-src' self 'http://*' unsafe-inline '' unsafe-eval '".
Это метатег Content-Security-Policy
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' http://* 'unsafe-inline'; script-src 'self' http://* 'unsafe-inline' 'unsafe-eval'" />