javascript سكربت هل تعليقات HTML داخل علامات البرنامج النصي هي أفضل الممارسات؟




اكواد جافا سكربت جاهزة (8)

توقفت عن فعل ذلك منذ عصور. أنت حقا لا تحتاج في هذا اليوم وهذا العصر.

الممارسة التالية شائعة إلى حد ما في جافا سكريبت المضمّنة لديّ للعمل مع:

<script type="text/javascript">
   <!--
       // Code goes here
   //-->
</script>

أعلم أن الهدف هو منع المتصفحات غير المتوافقة مع جافا سكريبت من عرض المصدر ، ولكن هل ما زال هذا أفضل الممارسات اليوم؟ الغالبية العظمى من المتصفحات المستخدمة اليوم يمكن أن تفسر JavaScript؛ حتى الأجهزة المحمولة الحديثة لا تواجه مشكلة.

أما لماذا "لا؟" السؤال: اضطررت في الآونة الأخيرة إلى قضاء عدة ساعات في تصحيح مشكلة تم فيها إيقاف أحد الأشخاص عن "//" أمام "->" في نهاية علامة النص البرمجي المدفون في أعماق بعض الصفحات ، وكان هذا السبب في حدوث جافا سكريبت غامض أخطاء.

ماذا تعمل؟ هل ما زال يعتبر "أفضل الممارسات؟"


لا ، إنها مخلفات من حل بديل يتم استخدامه عند إدخال عنصر البرنامج النصي لأول مرة. لا يفشل المستعرض في فهم عنصر البرنامج النصي اليوم (حتى إذا كان يفهمه على أنه "سيناريو يجب تجاهله لأن البرمجة النصية متوقفة أو غير مدعومة").

في XHTML ، فهي ضارة بنشاط.

لقد كتبت شيئًا عن تاريخه منذ فترة.


أنا لا أفعل ذلك ولكن في اليوم الآخر ذهبت للتحقق من صحة موقع كلمة المرور المحمية في w3c. لذلك اضطررت إلى استخدام طريقة الإدخال المباشر الخاصة بهم. اشتكى من javascript الخاص بي ، لذلك أضع التعليقات مرة أخرى في كل شيء على ما يرام.


وفقًا لتوصية W3C ، كان من المفيد بشكل أساسي إخفاء بيانات النص البرمجي من وكلاء المستخدم.

مقتبسة من صفحة W3c :

تعليق البرامج النصية في JavaScript يسمح محرك JavaScript بالسلسلة "<!--" في بداية عنصر SCRIPT ، ويتجاهل المزيد من الأحرف حتى نهاية السطر. يفسر جافا سكريبت "//" بداية تعليق يمتد إلى نهاية السطر الحالي. هذا مطلوب لإخفاء السلسلة "->" من محلل JavaScript.

    <SCRIPT type="text/javascript">
<!--  to hide script contents from old browsers
  function square(i) {
    document.write("The call passed ", i ," to the function.","<BR>")
    return i * i
  }
  document.write("The function returned ",square(5),".")
// end hiding contents from old browsers  -->
</SCRIPT>

إذا لم تقم بتضمين النص الحرفي بين علامات البرنامج النصي - أي ، إذا قمت بتحميل البرامج النصية من ملفات src ، فيمكنك نسيان التعليقات.


توقفت عن استخدام هذا الوقت مرة أخرى. أيضًا ، وفقًا لدوغلاس كروكفورد ، يمكنك إسقاط خاصية الكتابة من علامات النص حيث أن لغة البرمجة النصية الوحيدة المتوفرة في معظم المتصفحات هي JavaScript.


لقد توقفت عن فعل ذلك في مرحلة ما ، عليك فقط ترك فسيفساء NCSA الخاصة بك.


الشيء المهم هو أنه في الوقت الحاضر ، ما إذا كان متصفح معين يدعم جافا سكريبت أم لا هو غير ذي صلة (من الواضح أن الغالبية العظمى تفعل ذلك) - هو غير ذي صلة لأن معظمهم يفهم كتل البرامج النصية ، مما يعني أنهم يعرفون أن يتجاهلوا جافا سكريبت حتى إذا لم يستطيعوا تفسيرها.

يقدم Matt Kruse شرحًا أكثر تفصيلاً بقليل على موقع JavaScript Toolbox الخاص به ، وذلك لسبب عدم استخدام تعليقات HTML على وجه الخصوص داخل كتل البرامج النصية.

مقتبس من تلك الصفحة:

لا تستخدم تعليقات HTML في كتل البرنامج النصي

في الأيام القديمة لجافا سكريبت (1995) ، لم يكن لدى بعض المتصفحات مثل Netscape 1.0 أي دعم أو معرفة بالبرنامج النصي. لذا ، عندما تم إصدار جافا سكريبت لأول مرة ، كانت هناك حاجة إلى تقنية لإخفاء الرمز من المتصفحات القديمة حتى لا يعرضها كنص في الصفحة. كان "الاختراق" يستخدم تعليقات HTML داخل كتلة البرنامج النصي لإخفاء الرمز.

استخدام تعليقات HTML في البرنامج النصي هو سيء

// DON'T do this! Code is just representative on how things were done
<script language="javascript">
<!--
   // code here
//-->
</script>

لا توجد متصفحات في الاستخدام الشائع اليوم هي جاهلة للعلامة <script> ، لذلك لم يعد إخفاء مصدر javascript ضروريًا. في الواقع ، يمكن اعتباره ضارًا للأسباب التالية:

  • داخل مستندات XHTML ، سيتم إخفاء المصدر فعليًا من جميع المتصفحات وجعله غير مفيد
  • - غير مسموح به داخل تعليقات HTML ، لذلك فإن أي عمليات إلغاء في النص البرمجي غير صالحة




html