“ href”中的空格有效吗?


Answers:


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了解更多信息。特别是,此SO答案。您的角色不安全使用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.