浏览器如何解释以“http:/”开头的href?

时间:2010-11-25 02:00:05

标签: html hyperlink cross-browser

我的一些用户正在创建类似

的链接
<a href='http:/some_local_path'>whatever</a>

我注意到Firefox将其解释为

<a href='/some_local_path'>whatever</a>

我可以依靠所有浏览器中出现的情况吗?或者我应该自己删除http:/吗?

2 个答案:

答案 0 :(得分:4)

这是一个不常见的网址,但无效。 URL规范说明省略的组件是从基本URL默认的,可以在<base>标记中明确提供,或者不包含页面的当前URL。

当浏览器看到/some_local_path时,它缺少一个方案和一个主机,因此它从基本网址中获取它们。当您的用户放置http:/some_local_path时,它有一个显式方案,但缺少主机,因此主机默认为基本网址。如果您的网页是http:页面,则两个网址的解释方式相同。

所有这些,这些网址几乎肯定不是您的用户的意图。如果你指出他们的错误,你会帮助他们。

答案 1 :(得分:1)

最好验证用户输入的数据。不可避免地,你会得到意想不到的东西。