6

Google haritalarını kullanmak istediğim bir Google Chrome uzantısı yapıyorum. Sorun o zaman benim komut dosyası çalıştırdığınızda o İşte bana bu hatayıgoogle maps api script içerik güvenliği politikası nedeniyle yüklenir

Refused to load script from 'https://maps.googleapis.com/maps/api/js?key=XXXXXXXXXXXXXXXX&sensor=false' because of Content-Security-Policy. 

verir benim bildirim dosyası

{ 
    "name": "Name", 
    "version": "1.0", 
    "manifest_version": 2, 
    "background": { 
    "scripts": [ 
     "js/script.js" 
    ] 
    }, 
    "description": "Desc", 
    "browser_action": { 
    "default_icon": "images/icon.png", 
    "default_title": "Title", 
    "default_popup": "html/popup.html" 
    }, 
    "permissions": [ 
    "http://*/", 
    "http://*.google.com/", 
    "http://localhost/*" 
    ], 
    "content_security_policy": "script-src 'self' http://google.com; object-src 'self'" 

}

Ve bu

gibi benim komut ekliyorum olmasıdır
<script src="../js/libs/jquery.js"></script> 
    <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=XXXXXXXXXXXXXX&sensor=false"></script> 
    <script src="../js/plugins/easing.js"></script> 
    <script src="../js/script.js"></script> 

Neden bu hatayı tekrar tekrar alıyorum? bir

Güncelleme ... Lütfen yardım Ben de bu tür kullanılır, bu iki izinleri Güncelleme iki

dosyayı ortaya ama yine

"https://maps.google.com/*", 
"https://maps.googleapis.com/*", 

çalışmıyor eklendi content_security_policy

"content_security_policy": "default-src 'none'; style-src 'self'; script-src 'self'; connect-src https://maps.googleapis.com; img-src https://maps.google.com" 

Ancak, benim için ya da benim için çalışmaz

cevap

15

Buradaki sorunun, Google Haritalar URL'sinin içerik güvenliği politikasını doğru şekilde ayarlamadığınız yönündedir. Bu sadece kendini/akım sayfadan komut dosyasını çalıştırmak için izin anlamına gelir

"content_security_policy": "script-src 'self' https://maps.googleapis.com https://maps.gstatic.com; object-src 'self'" 

, ve "https dan: Böyle bir şey için bildirim dosyasında "content_security_policy" değişmelidir //maps.googleapis .com".

Bunu deneyin ve yardımcı olup olmadığını görün.

+0

Teşekkürler Akbar. Sen benim manifest dosyasını söylediğin şeye göre değiştirdim ama şimdi 'https://maps.gstatic.com/intl/en_us/mapfiles/api-3/9/19/main adresinden komut dosyasını yüklemek için bu hatayı alıyorum. js 'İçerik-Güvenlik Politikası'ndan dolayı'. Bir fikrin neden? – 2619

+0

maps.gstatic.com satırını da içerecek şekilde yukarıdaki içerik güvenliği ilkesi satırını güncelledim. Bence daha fazla releksasyon politikası eklemeniz gerekebilir. Bunun için aşağıdakileri gözden geçirmeyi öneririm: http://developer.chrome.com/extensions/contentSecurityPolicy.html http: //dvcs.w3.org/hg/content-security-policy/raw-file/ipucu/csp-specification.dev.html –

+0

Cevabınız için, kütüphaneyi bir sayfa içinde içerik komut dosyası olarak yüklemek için herhangi bir çözümünüz var mı? [Burada] sorusunu ekledim (https://stackoverflow.com/questions/48937438/refused-to-load-the-script-of-google-maps-library-inside-content-script-of-chrom) – Mohammad

2

Aynı sorunu çözdüm ve http URL'sini https sürümüne değiştirerek çözdüm.

<script type='text/javascript' src='http://maps.google.com/maps/api/js?v=3.3&sensor=false'></script> 

için: Nereden HTML yılında

<script type='text/javascript' src='https://maps-api-ssl.google.com/maps/api/js?v=3.3&sensor=false'></script> 

Sonra yine bu bilgi gerekiyorsa bilmiyorum manifest.json

CPS'ye https://maps-api-ssl.google.com eklendi. Ama ben biraz uğraştım ve biraz zaman harcadım ama doğrudan bir cevap bulamadım, bu yüzden herkese yardım edip edemeyeceğini umarak yazdım.