2015-09-30 7 views
0

У меня проблема с Android 5.0 Lollipop и Google Maps Api, у меня ошибка CSP небезопасного-eval.Apache Cordova: Ошибка CSP

Вот ошибка:

https://maps.googleapis.com/maps-api-v3/api/js/22/7/intl/es_ALL/main.js:65

Uncaught EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "default-src * 'unsafe-inline'".

Кодекс:

<meta http-equiv="Content-Security-Policy" content="default-src * 'unsafe-inline'; style-src 'self' 'unsafe-inline'; script-src: 'self' 'unsafe-inline' 'unsafe-eval'"> 

Внутри моей config.xml у меня есть это:

<plugin name="cordova-plugin-whitelist" version="1" /> 
<access origin="*" /> 

У меня нет никаких проблем с Android 4. x, но только с 5.x, я знаю, что это из-за Chromium Webview, но я не могу использовать Карты Google из-за этой ошибки.

Что я могу сделать, чтобы исправить это?

Спасибо!

ответ

2

Попробуйте рефакторинга ваши Content-Security-Policy мета-тег немного, у меня есть следующий рабочий в 5 приложения Кордова 5/Android, который использует Google Maps (; позиции отличаются от ваших:

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'"> 
+0

У меня есть это: https://maps.googleapis.com/maps-api-v3/api/js/22/7/intl/es_ALL/main.js:65 Uncaught EvalError: Отказано, чтобы оценить строку как JavaScript, потому что «небезопасно- eval 'не является допустимым источником сценария в следующей директиве политики безопасности содержимого: «default-src *« unsafe-inline ». Все еще не работает –

+0

Является ли встроенным скриптом проблему? Я могу попробовать поставить весь мой код на. js –

+0

Попробуйте сделать ставку ween default-src * и «небезопасно-inline» в соответствии с моим опубликованным примером политики безопасности контента. Вам также может потребоваться дождаться события Cordova deviceready перед запуском скриптов, поэтому встроенный скрипт может быть фактором, но сначала попробуйте сначала изменить политику безопасности контента. –