HTML强制URL超链接被视为非相对(绝对)

问题描述 投票:15回答:3

我有一个用户为各种客户的网站输入的URL列表...我正在将此列表从服务器加载到网格中供用户查看...我通过用href HTML包装来使URL可点击标签...问题是,有时用户输入没有http://或www的网址。前缀,因此浏览器将它们视为相对URL,这些URL从来就不是这种情况,因为所有这些网站都是针对我们的客户而且都是外部的。有没有办法强制将这些URL视为绝对而不是相对?

这是一个例子:

<a target='_blank' href='google.com'>google.com</a>

如果你试试这个,你会看到浏览器会认为它是一个不应该是这种情况的相对路径。

谢谢


解:

我选择检查'//'(因为我不知道协议是什么 - 可能是http或https),如果没有找到,我认为它是一个http网站,我用URL作为前缀 - 所以总之,没办法强制浏览器将超链接视为绝对

html url href relative-path absolute-path
3个回答
3
投票

为什么不预先处理输入并在必要时附加http://


8
投票

您可以在url之前添加//,这应该可行。


0
投票

它是一个相对URI。

如果您想要链接到http://google.com/,那么您需要链接到该位置。

您可以调整要包装的URI,也可以尝试通过算法猜测它是否打算成为相对链接。

请注意,你不能安全地假设应该有一个www。因为网站的使用只是一种惯例,而不再是强烈遵循的惯例。

© www.soinside.com 2019 - 2024. All rights reserved.