2016-12-06 67 views
0

我目前正在開發一個使用Phonegap/Cordova的酒店客戶端的Android應用程序。該應用程序是從他們的WordPress的網站下載菜單和內容,所以我需要從他們的實時url加載圖像。我有這個工作,通過對config.xml文件進行一些調整並向每個頁面添加以下元標記;內容安全政策和外部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或以下的代碼。

當您在沒有Metatag的情況下運行它時,您會看到它的工作原理。我添加了腳本src並嘗試了一些從https://content-security-policy.com/設置的設置,包括添加object-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

你的意思是你得到'混合內容的錯誤:在「https://jsfiddle.net/bp3435w4/」加載頁面通過HTTPS,但要求一個不安全的資源的「http ://securebooking.eviivo.com/mywebsite/DutchmanFY16AH.home視圖名=在線訂購...預訂&STARTDATE = 06/12/2016年&晚= 1&adults1 = 1&industrytype = 1&children1 = 0' ?。此請求已被阻止;內容必須通過HTTPS提供.' – mplungjan

+0

嗨..對不起...它可以在http和https上工作...我在JSFiddle資源中添加了https,以便使用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>