"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا تفشل أحداث النقر المنبثقة على امتداد Chrome بسبب انتهاك سياسة أمان المحتوى؟

لماذا تفشل أحداث النقر المنبثقة على امتداد Chrome بسبب انتهاك سياسة أمان المحتوى؟

تم النشر بتاريخ 2024-11-24
تصفح:322

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

فشل النقر على الأحداث المنبثقة في النافذة المنبثقة: حل انتهاك سياسة أمان المحتوى

وصف الخطأ

في امتداد Chrome، انقر فوق الأحداث الموجودة على كل من رمز الامتداد و زر داخل الصفحة المنبثقة لا يولد الاستجابة المتوقعة لزيادة متغير جافا سكريبت.

فحص الجذر السبب

لتصحيح المشكلة، افحص الصفحة المنبثقة وافحص سجلات وحدة التحكم. من المحتمل أن تشير رسالة الخطأ إلى انتهاك سياسة أمان المحتوى (CSP):

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

امتثال CSP المخترق

البرامج النصية المضمنة داخل صفحة HTML تنتهك CSP الافتراضي. لا يُسمح بجافا سكريبت المضمّن بموجب هذه السياسة.

الحل: عزل جافا سكريبت

لحل المشكلة، قم بإزالة كل جافا سكريبت المضمن من ملف HTML ووضعه في ملف جافا سكريبت منفصل.

هيكل الكود المنقح

&&&]hello.html (نافذة منبثقة الصفحة)

الرأس>





popup.js

var a = 0; عدد الوظائف () { أ؛ document.getElementById('demo').textContent = a; } document.getElementById('do-count').onclick = count;




ملاحظات

استبدل InnerHTML بمحتوى النص عند تغيير النص للتخفيف من ثغرات XSS المحتملة.
  • يضمن هذا الحل التوافق مع CSP، مما يتيح التنفيذ الصحيح للبرنامج النصي ومعالجة أحداث النقر.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3