رمز غير صالح: ماذا يعني href = "#"؟

click fraud protection

عندما ترى href = "#" في رمز مباشر على صفحة ويب ، فهذا يعني أن الشخص الذي كتب الصفحة ارتكب خطأ. يجب ألا تشاهد مطلقًا href = "#" في شفرة المصدر الفعلية لصفحة الويب لأن # في حد ذاته غير صالح ولا معنى له في الواقع.

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

instagram viewer

A # صالح في سمة href شريطة ألا يكون هو الحرف الوحيد في القيمة. حيث يتبع # بأحرف إضافية هذه الأحرف الإضافية هي قيمة سمة معرف في مكان آخر في صفحة الويب الحالية وستقفز الصفحة لعرض العلامة التي تحتوي على هذا المعرّف في أقرب مكان ممكن من أعلى المتصفح إطار العرض. فمثلا سوف تقفز إلى

الحرف # غير صالح كحرف أخير من href لأنه يشير إلى أنك تريد الانتقال إلى معرف داخل الصفحة ولكن لم يتم تحديد قيمة المعرف للانتقال إليه. الإجراء الذي يجب على المتصفح اتخاذه في هذا المثيل غير محدد ، ولكن معظمهم سيقفز ببساطة إلى أعلى الصفحة الحالية.

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

فقط حيث يضاف إلى صفحة الويب باستخدام جافا سكريبت ، هل يمكنك التأكد من أن كل شخص ينقر على الرابط سوف يفعل تم تمكين جافا سكريبت ، وبالتالي سيتم تشغيل رمز doSomething () وسيتم تشغيل href = "#" تجاهلها. عندها فقط عندها يكون من المنطقي ترك الرقم # في هذا المكان في الشفرة حيث أن سمة href مطلوبة لكي يقبل بعض المتصفحات الرمز كرابط صالح وحيث تعلم أن الأشخاص الوحيدون الذين يمكنهم رؤية الرابط سيكون لديهم جافا سكريبت مكنك أن تعلم أيضًا أنه لا أحد سينتهي به المطاف في الواقع إلى المكان الذي يشير إليه href وبالتالي يمكن أن يحتوي على أي شيء على الإطلاق دون أهمية # قيمة جيدة مثل أي شيء وهي بالتأكيد أفضل من href = "javascript:" (وهو عبارة عن بنية لا يجب استخدامها أبدًا بغض النظر عما إذا كان أي شيء يتبع النقطتين أم لا).

instagram story viewer