لم يتم تطبيق الطريقة التي تمت مناقشتها في هذه المقالة في المشاريع الفعلية ، لأنني لم أواجه مشاريع تتطلب ذلك ، لكن التجربة وجدت أنها ممكنة.
1. مصدر أفكاري
جافا سكريبت شيء جيد. مظهرها يجعل صفحات الويب أكثر حيوية. بالطبع ، الفوائد ليست فقط. لقد جعلت تطبيقات AJAX الشهيرة في السنوات الأخيرة أن الناس يبدأون في إيلاء المزيد من الاهتمام لتطبيق لغة JavaScript الصغيرة (لا يعتبرها العديد من خبراء البرامج لغة ، على الأكثر عنوان سيناريو ، وحتى ينظرون إلى الأشخاص الذين يصنعون البرامج النصية). الآن تفتح العديد من المدونات أذونات البرنامج النصي على مواقع الويب الرسمية ، مما يسمح للمستخدمين بتخصيص البرامج النصية لإثراء مساحتها ، وخاصة بعض المدونات المهنية التقنية ، والتي توفر بيئة تطوير مريحة إلى حد ما. لكننا وجدنا أيضًا أن العديد من المدونات لديها قيود على بعض أساليب البرمجة النصية. لاحظ أنني أتحدث عن القيود الجزئية هنا. إذا كان كل ذلك قيودًا ، فهذا أمر بسيط للغاية. فقط قم بتصفية كتلة البرنامج النصي <script> ، ولكن كيف يتم تحقيق بعض القيود؟
لأنني لم أواجه مثل هذه المشكلة في مشاريعي السابقة ، لم أقم بالكثير من الأبحاث المتعمقة. في البداية ، فكرت للتو في استخدام طريقة "الاستبدال" بناءً على مشاعري. من الواضح أن هذه الطريقة لا تعمل لأنها قد تسوء. على سبيل المثال ، إذا كنت أرغب في تعطيل طريقة التنبيه ، يتوفر الكود التالي:
Window.Alert ('بعض الرسائل') ؛
الآن لجعل الكود أعلاه غير صالح ، فقط دع التنبيه يغيره. على سبيل المثال ، قم بتغييره إلى Capital Alert ، والذي سيبلغ بالتأكيد عن خطأ في البرنامج النصي ، ولكن لا يزال بإمكانك استخدام Try {} catch {} لتضمين تنبيه ، ولكن هذه مشكلة كبيرة أخرى للاعتراف بتعطيل حزم اللغات ، وسيكون هناك مثل هذا الخطأ: استبدال التنبيه في المستند. الكتابة (تنبيه بعض الرسائل ") ؛
في وقت لاحق فكرت في إعادة كتابة الطريقة ، وإعادة كتابة الطريقة المراد تعطيلها ، وجعلها لا تفعل شيئًا. أثبتت النتيجة أنها ممكنة ، لكنني لا أعرف ما إذا كانت طريقة علمية. سوف أخرجها ومناقشتها معك.
2. تنفيذ محدد
دعونا أولاً نلقي نظرة على الكود التالي لتعطيل الطريقتين "التنبيه" و "الكتابة":
window.alert = function () {} document.write = function () {} window.alert ('تنبيه بعض الرسائل') ؛ document.write ('اكتب بعض الرسائل') ؛يبدو الأمر بسيطًا حقًا. في التطبيق الفعلي ، قم باستخراج الخطين الأولين بشكل منفصل وتخزينهما في ملف JS خارجي ، وقم بتحميل ملف JS أولاً على الصفحة التي تحتاج إلى تصفية طرق JavaScript (يمكنك أيضًا تحميل هذا البرنامج النصي على السطر السابق من كتلة محتوى تحرير المستخدم ، بحيث لا يزال بإمكان مسؤولنا أو صانع صفحة الويب استخدام الطريقة التي سيتم تعطيلها في كتلة HTML السابقة). وبهذه الطريقة ، لن يعمل استدعاء طريقة المعوقين بعد ذلك.
ملاحظة: أخيرًا ، أود أن أذكرك بأنه يجب عليك أيضًا تعطيل بعض طرق تشغيل DOM ، مثل طريقة REMOW () ، لأن المستخدمين يمكنهم استخدام طرق تشغيل DOM لإزالة ملف JS الذي قمت بتحميله في البداية.