5

मैं क्रोम पैक किए गए ऐप का निर्माण कर रहा हूं, जहां सीएसपी के अनुसार मुझे eval() विधि का उपयोग करने की अनुमति नहीं है। अब जब से मैं JQuery (संस्करण 1.10.2) और AngularJS (संस्करण 1.0.6) का उपयोग कर रहा हूं, लाइब्रेरी विधि में से एक आंतरिक रूप से JQuery globalEval को कॉल करता है। (globalEval कॉल आंतरिक रूप से eval, जिसका उपयोग इस संदर्भ में नहीं किया जा सकता है)क्रोम पैक किए गए ऐप्स में AngularJS का उपयोग करते समय JQuery globalEval कॉल से कैसे बचें?

क्या कोई भी एक ही मुद्दे पर आया है? पुन: इंजीनियरिंग JQuery/AngularJS लाइब्रेरी विधि के अलावा कोई भी कामकाज?

+0

मुझे एक समान समस्या है। जब मैंने अपने पैकेज किए गए ऐप को एंगुलरजे 1.2.0-आरसी.2 को मूल तरीके से जोड़ने की कोशिश की, तो मुझे लाइन 878 9 और 7861 (गैर-संशोधित संस्करण के) से त्रुटियां मिलीं। त्रुटियां दोनों थीं: "जावास्क्रिप्ट के रूप में स्ट्रिंग का मूल्यांकन करने से इंकार कर दिया गया क्योंकि 'असुरक्षित-eval' निम्न सामग्री सुरक्षा नीति निर्देश में स्क्रिप्ट का एक स्वीकृत स्रोत नहीं है:" डिफ़ॉल्ट-src 'self' क्रोम-एक्सटेंशन-संसाधन: "नोट कि 'script-src' स्पष्ट रूप से सेट नहीं किया गया था, इसलिए 'डिफ़ॉल्ट-src' का उपयोग फ़ॉलबैक के रूप में किया जाता है। " सभी Google दस्तावेज़ कहते हैं कि AngularJs ठीक है, लेकिन स्पष्ट रूप से नहीं। –

+1

दो बार जांचें कि क्या आपके पास कोई इनलाइन जावास्क्रिप्ट कोड है या नहीं। हालांकि AngularJS लाइब्रेरी में कुछ आंतरिक eval कॉल हैं, लेकिन मैं अंत में इसके आसपास काम करने में कामयाब रहा है। मैंने पाया कि मेरे पास कुछ इनलाइन jQuery कोड था जो कुछ कोणीय जेएस विधियों को बुलाकर समस्या का कारण बन रहा था जो बदले में इवल को बुलाता था। –

उत्तर

6

दोनों कोणीय और jquery बिना किसी समस्या के सीएसपी के साथ काम करता है। लेकिन कोणीय के लिए अतिरिक्त विन्यास की आवश्यकता है: ngCsp

संक्षेप में, आपको <html> टैग पर निर्देश जोड़ना होगा। यह कोणीय को बताएगा कि सीएसपी सक्षम है, और यह सीएसपी द्वारा प्रतिबंधित चीजों को करने की कोशिश नहीं करेगा।

+0

यह सच है। हालांकि मैंने पहले ही ऐसा किया था। –

संबंधित मुद्दे