أي طريقة معتمدة لإضافة Javascript قبل إغلاق body؟

لقد قمت ببعض البحث في هذا الأمر وأنا على دراية بالمنطق الأمني وما إلى ذلك. ولكن هل تم إنشاء أي طريقة للقيام بذلك حتى الآن؟ لدي سكريبت لمنع حظر الإعلانات أود تشغيله، ومن المفترض إدراجه قبل </body>، وإضافته إلى السمة لا تحقق أي نتيجة. أفترض أن إجراءات الأمان تقوم بإزالته؟ على أي حال، إنه لا يتم تحميله بالنسبة لي في خيارات </body> أو “التذييل” في منطقة تخصيص السمة.

ملاحظة: هذا مجرد كود جافا سكريبت خالص وليس رابطًا بعيدًا إلى ملف، إلخ.

شكرًا،
جيم

هل وضعت كود JavaScript الخاص بك داخل وسوم script في نهاية وسم ؟:

<script type="text/javascript">

 <<< JS >>

</script>

نعم، لقد قمت بإضافة السكربت بالفعل في إصدار سطح المكتب قبل وسم </body>.

<script type="text/javascript" charset="utf-8">
eval(function....
</script>

هه… حسناً، أرى أن ملفاً يحتوي على السكربت يتم إضافته إلى التذييل عبر:

<script src="[/theme-javascripts/854aca489ba48a598e9eefaa2e4e255ac2a445b7.js?__ws=mywebsite.com](https://mywebsite.com/theme-javascripts/854aca489ba48a598e9eefaa2e4e255ac2a445b7.js?__ws=mywebsite.com)"></script>

عند الانتقال إلى هذا الملف (في حالتي)، يُعرض نفس كود JavaScript الذي وضعته في منطقة تخصيص السمات.

لكن، حسب ما أستطيع استنتاجه، لا يعمل كما هو معتاد على المواقع الأخرى (بما أنني قمت بتفعيل مانع الإعلانات).

حسنًا… إذن هناك استثناء/خطأ في وحدة تحكم JavaScript:

Uncaught EvalError: Refused to evaluate a string as JavaScript because ‘unsafe-eval’ is not an allowed source of script in the following Content Security Policy directive: "script-src…

إذًا، هل هناك طريقة لجعل دالة “eval” آمنة أو السماح باستخدامها في هذه الحالة تحديدًا؟

يمكنك إضافة تقييمات (evals) إلى القائمة البيضاء في إعدادات سياسة أمان المحتوى للموقع، راجع التخفيف من هجمات XSS باستخدام سياسة أمان المحتوى.

غير أننا لا ننصح بذلك، حيث أنه يعرّض موقعك لثغرات أمنية.