2016-12-06 4 views
0

В настоящее время я разрабатываю приложение для Android с помощью Phonegap/Cordova для гостиничного клиента. Приложение должно загрузить меню и контент со своего сайта Wordpress, поэтому мне нужно загрузить изображение с их живого URL. У меня это работает, сделав некоторые изменения в файле config.xml и добавив следующий метатег на каждую страницу;Content-Security-Policy и внешний файл Javascript

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

Кроме того, в приложении они хотят, чтобы их бронирование объекта для интеграции, который обеспечивается их поставщиком бронирования в виде JavaScript. Вышеуказанный метатаг останавливает форму бронирования от загрузки (он работает, когда я удаляю тег).

Вы можете просмотреть код на моем JSFiddle Page или ниже.

Вы увидите, что он работает, когда вы запускаете его без Метатага. Я добавил скрипт-src и попробовал ряд настроек от https://content-security-policy.com/, включая добавление объекта-src & frame-src.

Пожалуйста, помогите

eviivo.availabilitychecker.create('#availabilitychecker', { 
 
    industryTypes: [1], 
 
    allowCrossDomainTracking: true, 
 
    template: 'horizontal' 
 
});
<style type='text/css'> </style> 
 

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

 

 
<style type='text/css'> 
 

 
.eviivo_availabilitychecker { 
 
    width: auto !important; 
 
    height: auto !important; 
 
    color: #333333 !important; 
 
    background: #ffffff !important; 
 
    border: 1px solid #DDDDDD !important; 
 
    font-size: 12px !important; 
 
    font-family: Arial !important; 
 
} 
 
.eviivo_title span { 
 
    color: #000000 !important; 
 
    font-size: 12px !important; 
 
    font-family: Arial !important; 
 
} 
 
.eviivo_submit a { 
 
    color: #FFFFFF !important; 
 
    background: #F28226 !important; 
 
    border: 1px solid #CCCCCC !important; 
 
    font-size: 12px !important; 
 
    font-family: Arial !important; 
 
} 
 
</style>
<script src="https://securebooking.eviivo.com/DutchmanFY16AH.availabilitychecker.1.0.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="availabilitychecker"></div>

+2

Вы имеете в виду ошибка, вы получаете 'Mixed Содержание: Страница на«https://jsfiddle.net/bp3435w4/»был загружен через HTTPS, но запросил небезопасный ресурс«HTTP : //securebooking.eviivo.com/mywebsite/DutchmanFY16AH.home ViewName = онли ... бронирование & StartDate = 06/12/2016 и ночей = 1 & adults1 = 1 & industrytype = 1 & детей1 = 0?. Этот запрос заблокирован; содержимое должно быть передано через HTTPS.' – mplungjan

+0

Привет .. извините ... Он работает как на http, так и на https ... Я добавил https на ресурс JSFiddle, чтобы заставить его работать с JSFiddle – DannyBoy

ответ

0

Я сейчас получил эту работу спасибо. Мне просто нужно было добавить «unsafe-eval» в атрибут script-src.

0

eviivo.availabilitychecker.create('#availabilitychecker', { 
 
    industryTypes: [1], 
 
    allowCrossDomainTracking: true, 
 
    template: 'horizontal' 
 
});
<style type='text/css'> </style> 
 

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

 

 
<style type='text/css'> 
 

 
.eviivo_availabilitychecker { 
 
    width: auto !important; 
 
    height: auto !important; 
 
    color: #333333 !important; 
 
    background: #ffffff !important; 
 
    border: 1px solid #DDDDDD !important; 
 
    font-size: 12px !important; 
 
    font-family: Arial !important; 
 
} 
 
.eviivo_title span { 
 
    color: #000000 !important; 
 
    font-size: 12px !important; 
 
    font-family: Arial !important; 
 
} 
 
.eviivo_submit a { 
 
    color: #FFFFFF !important; 
 
    background: #F28226 !important; 
 
    border: 1px solid #CCCCCC !important; 
 
    font-size: 12px !important; 
 
    font-family: Arial !important; 
 
} 
 
</style>
<script src="https://securebooking.eviivo.com/DutchmanFY16AH.availabilitychecker.1.0.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="availabilitychecker"></div>