"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > सामग्री सुरक्षा नीति के उल्लंघन के कारण मेरा क्रोम एक्सटेंशन पॉपअप क्लिक इवेंट विफल क्यों हो रहा है?

सामग्री सुरक्षा नीति के उल्लंघन के कारण मेरा क्रोम एक्सटेंशन पॉपअप क्लिक इवेंट विफल क्यों हो रहा है?

2024-11-24 को प्रकाशित
ब्राउज़ करें:284

Why Are My Chrome Extension Popup Click Events Failing Due to a Content Security Policy Violation?

एक्सटेंशन पॉपअप क्लिक इवेंट विफल: सामग्री सुरक्षा नीति उल्लंघन का समाधान

त्रुटि विवरण

क्रोम एक्सटेंशन में, एक्सटेंशन आइकन और दोनों पर इवेंट पर क्लिक करें पॉपअप पेज के भीतर एक बटन जावास्क्रिप्ट वैरिएबल को बढ़ाने की अपेक्षित प्रतिक्रिया उत्पन्न नहीं कर रहा है।

रूट का निरीक्षण कारण

समस्या को डीबग करने के लिए, पॉपअप पेज का निरीक्षण करें और कंसोल लॉग की जांच करें। त्रुटि संदेश संभवतः सामग्री सुरक्षा नीति (सीएसपी) उल्लंघन का संकेत देता है:

Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' chrome-extension-resource:".

समझौता किया गया सीएसपी अनुपालन

एचटीएमएल पेज के भीतर इनलाइन स्क्रिप्ट डिफ़ॉल्ट सीएसपी का उल्लंघन करती हैं। इस नीति के तहत इनलाइन जावास्क्रिप्ट की अनुमति नहीं है।

समाधान: जावास्क्रिप्ट को अलग करना

समस्या को हल करने के लिए, HTML फ़ाइल से सभी इनलाइन जावास्क्रिप्ट को हटा दें और इसे एक अलग जावास्क्रिप्ट फ़ाइल में रखें।

संशोधित कोड संरचना

hello.html (पॉपअप पेज)





popup.js

var a = 0;
function count() {
  a  ;
  document.getElementById('demo').textContent = a;
}
document.getElementById('do-count').onclick = count;

Notes

  • संभावित XSS कमजोरियों को कम करने के लिए टेक्स्ट बदलते समय insideHTML को textContent से बदलें।
  • यह समाधान सीएसपी का अनुपालन सुनिश्चित करता है, उचित स्क्रिप्ट निष्पादन और क्लिक इवेंट हैंडलिंग को सक्षम बनाता है।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3