لقد رأيت مقالًا كتبه العام الماضي عن Perfection Kills، وكان مفصلًا للغاية حول تحسين HTML، وسأقوم بتسجيله الآن، على الرغم من أن بعض الأشياء الموجودة فيه لا يمكن تطبيقها في البيئة الحالية. في ظل الاتجاه الحالي لتطبيقات الويب التي أصبحت واجهة أمامية تدريجيًا، اجتذب التحسين من جانب العميل المزيد والمزيد من الاهتمام لكيفية تقليل التعليمات البرمجية، وكيفية عرض التطبيقات بسرعة للمستخدمين، وكيفية تقليل وقت انتظار المستخدم، وما إلى ذلك، مثل Yahoo 34 قاعدة ذهبية للتحسين تم اقتراح خطة تحسين مفصلة.
يجب أن يكون الجزء الأساسي من تحسين صفحة الويب هو تحسين HTML. على وجه التحديد، الأول هو تنظيف العلامات، ولا يمكن أن يؤدي تنظيف العلامات إلى تقليل حجم المستند فحسب، بل يسهل أيضًا صيانة المستند وتحسين رؤيته لمحركات البحث. يعني الترميز إمكانية وصول أفضل) وصيانة أسهل ورؤية جيدة لمحرك البحث)، ولكن حتى بالنسبة لصفحات الويب التي يُقال إنها مُحسّنة للغاية، إذا نظرت عن كثب إلى الكود، فلا يزال بإمكانك العثور على العديد من استخدامات العلامات التي يمكن حذفها أو عفا عليها الزمن:
1. أحرف التعليق في البرنامج النصي
<لغة البرنامج النصي=جافا سكريبت>
<!-- ابدأ
تنبيه("daimaren.cn");
// النهاية -->
</script>
ما لم يكن متصفح منقرض تقريبًا مثل 95 Netscape 1.0 يتطلب مثل هذه المعالجة، في معظم المتصفحات السائدة، فإن إضافة تعليقات HTML إلى كتل البرامج النصية غير ضرورية على الإطلاق.
2.<![CDATA[ …
<نوع البرنامج النصي = "نص/جافا سكريبت">
//<![CDATA[
...
//]]>
</script>
هذا إجراء آخر لمنع الأخطاء يتم إضافته غالبًا إلى كتل التعليمات البرمجية لـ js عند التعامل مع مستندات XHTML الحقيقية (نوع محتوى "application/xhtml+xml") لمنع الكود من تحليل الرمز < كبداية للعلامة، الكل سيتم التعامل مع المحتوى الموجود في CDATA كنص. لكن الوضع الفعلي هو أن نوع المحتوى لجميع صفحات الويب تقريبًا في الوقت الحالي هو نص/html، مما يعني أنها ليست مستندات xml بالمعنى الدقيق للكلمة، ولكنها مجرد نص نصي، لذا فإن إجراء منع الأخطاء هذا غير ضروري على الإطلاق إذا كنت متأكدًا من دعم مستندات xml، فيجب عليك استخدام CDATA بشكل مناسب وفقًا للموقف.
3.onclick=”…”، onmouseover=”“وهلم جرا.
إنها ممارسة غير حكيمة للغاية أن تكتب سمات الحدث في علامات HTML، مما يقلل من إمكانية صيانة التعليمات البرمجية ويلوث العلامات. إذا تمت إضافة سمات الحدث ديناميكيًا من خلال JS، فلا يمكن التحكم فيها بمرونة فحسب، بل يمكن أيضًا لعميل JS. يمكن استخدامها ميزة التخزين المؤقت هي أن سمات الحدث هذه لا يجب أن تتبع كل طلب مستند.
4.onclick=”جافا سكريبت:…”
هذه فوضى جافا سكريبت مثيرة للاهتمام. يمكن للبروتوكولات الزائفة ومعالجات الأحداث الجوهرية إنشاء ما يصل إلى 100000 مجموعة زائدة عن الحاجة . لذا فإن javascript: تصبح علامة زائدة عديمة الفائدة هنا.
5.href=”جافا سكريبت:باطل(0)”
بالاستمرار في استخدام بروتوكول جافا سكريبت: البروتوكول الزائف، أحد البروتوكولات سيئة السمعة هو javascript:void(0)، والذي يُستخدم لتجنب إجراء الارتساء الافتراضي، حيث سيؤدي إلى فشل JS في التحليل بشكل طبيعي أو ارتكاب أخطاء (معطل/غير متاح/). (أخطاء). نقطة الربط غير متاحة تمامًا. الحل المثالي هو ملء عنوان URL الصحيح في href ثم استخدام JS لإعادة كتابته ديناميكيًا، بحيث لا تكون نقطة الربط غير متاحة حتى في حالة عدم تنفيذ JS. HREF=“#” هو بديل مبسط وأسرع.
6. ستايل=”…”
لا يوجد خطأ أساسي، ولكن من الصعب صيانته لاحقًا. بالإضافة إلى ذلك، يمكن تخزينه مؤقتًا ونقله إلى ملف CSS خارجي لتحسين كفاءة تنفيذ الصفحة.
7. <لغة البرنامج النصي=”جافا سكريبت”
إحدى أكثر السمات التي يساء فهمها هي أن هذه هي "لغة" البرنامج النصي. هذه السمة قديمة جدًا لدرجة أنه تم إهمالها في عام 1999.
8. <script charset=…”
<script type="text/javascript" charset="UTF-8">
...
</script>
هناك سمة أخرى يسهل فهمها لعلامة البرنامج النصي، وهي مجموعة الأحرف الموضحة في HTML4.01: يرجى ملاحظة أن سمة مجموعة الأحرف تشير إلى ترميز البرنامج النصي المحدد بواسطة سمة src للحرف، ولا تتضمن محتوى عنصر البرنامج النصي. (لاحظ أن سمة مجموعة الأحرف تشير إلى ترميز أحرف البرنامج النصي المعين بواسطة سمة src؛ ولا تتعلق بمحتوى عنصر البرنامج النصي.)، أي أنها تحدد فقط تنسيق ترميز ملف البرنامج النصي عند التخطيط البرنامج النصي. غير مستحسن.