5

Bir Chrome Paket Uygulaması yapıyorum, CSP'ye göre eval() yöntemini kullanmama izin verilmiyor. JQuery (sürüm 1.10.2) ve AngularJS (sürüm 1.0.6) kullandığımdan beri, kütüphane yöntemlerinden biri JQuery globalEval'i dahili olarak çağırır. (globalEval, bu bağlamda kullanılamayacak şekilde içeride değerlendirir)Chrome Paket Uygulamaları'nda AngularJS kullanırken JQuery globalEval çağrısı nasıl önlenir?

Aynı sorunu gören var mı? Yeniden mühendislik JQuery/AngularJS kütüphane yöntemi dışında herhangi bir geçici çözüm?

+0

Benzer bir sorun yaşıyorum. AngularJs 1.2.0-rc.2 paketli uygulamamı temel bir şekilde eklemeyi denediğimde, 8789 ve 7861 satırlarından (indirgenmemiş sürümden) hatalar aldım. Hataların ikisi de: "JavaScript'i bir dizgeyi değerlendirmeyi reddettik çünkü" güvensiz durum ", aşağıdaki İçerik Güvenliği Politikası yönergesinde izin verilen bir komut kaynağı değil:" default-src 'self' chrome-extension-resource: ". 'script-src' açıkça ayarlanmadı, bu nedenle 'default-src' bir geri dönüş olarak kullanılır. " Tüm Google dokümanları AngularJ'lerin iyi olduğunu söylüyor, ama görünüşe göre değil. –

+1

Satır içi javascript kodunuzun olup olmadığını kontrol edin. AngularJS kütüphanesinde bazı dahili değerlendirme çağrıları olsa da, sonunda çalışmayı başardım. Ben bazı sıralı jquery kodu vardı, bu da bir şekilde Eval çağrısında bulunan bazı AngularJS yöntemlerini çağırarak soruna neden oldu. –

cevap

6

CSP ile hem açısal hem de jant işlerinde sorun yaşanmaz. Ancak açısal, bunun için fazladan yapılandırmaya ihtiyaç duyar: <html> etiketine kısaca ng-csp yönergesini eklemeniz gerekir. Bu, CSP'nin etkinleştirildiğini açacak ve CSP tarafından yasaklanan şeyleri yapmaya çalışmaz.

+0

Bu doğrudur. Ancak bunu zaten yaptım. –

İlgili konular