ช่องว่างใน“ href” ใช้ได้หรือไม่


9

คือ<a href=" #id ">(พื้นที่โน้ต) ที่ถูกต้อง (X) HTML ได้ไหม?

มันหมายความว่าเหมือนกัน<a href="#id">หรือไม่


1
ใน HTML มันจะตรวจสอบและฉันเชื่อว่าพวกเขาจะเทียบเท่า ตัวแทนผู้ใช้ควรตัดส่วนนำและช่องว่างต่อท้าย อ้างอิง: w3.org/TR/2014/REC-html5-20141028/ …
MrWhite

คำตอบ:


7

ใน (X) HTML5 หมายถึงแอตทริบิวต์ของaองค์ประกอบhref

[ ... ] จะต้องมีค่าที่เป็นURL ที่ถูกต้องที่อาจเกิดขึ้นล้อมรอบด้วยช่องว่าง

ในฐานะที่เป็นผู้ประกาศข่าวที่แสดงให้เห็นว่ามันอาจจะมีชั้นนำและช่องว่างต่อท้าย

ส่วนที่เชื่อมโยงทำให้ชัดเจนว่าช่องว่างเหล่านี้จะถูกปล้น :

[…] ตัวแทนผู้ใช้จะต้องลบอักขระช่องว่างทั้งหมดที่อยู่ที่จุดเริ่มต้นหรือจุดสิ้นสุดของสตริง […]


ถ้าเริ่มต้นที่เกิดขึ้นจริง / URL ปลายด้วย (หรือมี) %20ช่องว่างที่คุณจะต้องร้อยละเข้ารหัสพวกเขาด้วย

องค์ประกอบเหล่านี้มีค่า URL ต่างกัน:

<a href=" foo"></a> <!-- the URL is <foo> -->
<a href="%20foo"></a> <!-- the URL is < foo>, i.e., <%20foo> -->

องค์ประกอบเหล่านี้มีค่า URL เดียวกัน:

<a href="%20foo"></a>
<a href="%20foo "></a>
<a href="%20foo   "></a>
<a href=" %20foo"></a>
<a href="    %20foo"></a>
<a href="    %20foo    "></a>

0

ทำไมคุณถึงทำเช่นนี้? ใครเขียนโค้ดแบบนี้ นั่นเป็นพื้นที่ที่ไม่จำเป็นในระหว่าง ""

ไม่อนุญาตให้ใช้พื้นที่ตามตัวอักษรใน URL และไม่ได้เป็นส่วนหนึ่งของข้อมูล เพียงจัดรูปแบบสำหรับการบริโภคของมนุษย์

คุณต้องลบช่องว่างออก เบราว์เซอร์บางตัวแสดงผลเป็นพื้นที่

ช่องว่างที่ถูกต้อง และทั้งคู่ต่างกันเพราะอย่างใดอย่างหนึ่งมีช่องว่างส่วนที่เหลือไม่ได้ นั่นหมายความว่าการจัดรูปแบบหรือลิงค์นั้นแตกต่างกัน


0

ใช่มันจะได้รับการแก้ไขโดยอัตโนมัติจากเบราว์เซอร์อย่างไรก็ตามหากใช้ช่องว่างคุณจะได้รับข้อผิดพลาดคุณสามารถเขียนทับได้ในวิธีอื่น:

URL ดังนั้น href สนับสนุนการเว้นวรรคเพียงแทนที่ด้วย "% 20" อย่างไรก็ตามถ้าคุณเขียน

<a href="%20#id"> </a>

สิ่งนี้จะส่งผลให้ "#id" และไม่ใช่ "#id"

เช่น:

<a href="?How%20Are%20You">How are you?</a>

-1

คุณสามารถเรียกใช้มาร์กอัปของคุณผ่านตัวตรวจสอบความถูกต้องด้วยตัวคุณเองเพื่อดูว่าสิ่งที่คุณเขียนนั้นถูกต้องหรือไม่ แต่มาร์กอัปที่ถูกต้องไม่ได้เป็นการบ่งบอกถึงการขนส่งที่ถูกต้องและการเว้นวรรคต้องเป็น URL ที่เข้ารหัส (และเครื่องหมายแฮชด้วย)

คุณสามารถเรียนรู้เพิ่มเติมโดยค้นหา Stackoverflow โดยเฉพาะอย่างยิ่งคำตอบนี้ ตัวละครของคุณไม่ปลอดภัยที่จะใช้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.