我有一个用户为各种客户的网站输入的网址列表...我正在将此列表从服务器加载到网格中供用户查看...我通过包装它们使URL可以点击一个href HTML标签......问题是,有时用户在没有http://或www的情况下输入网址。前缀,因此浏览器将它们视为相对URL,这些URL从来就不是这种情况,因为所有这些网站都是针对我们的客户而且都是外部的。有没有办法强制将这些URL视为绝对URL而不是相对的?
以下是一个例子:
<a target='_blank' href='google.com'>google.com</a>
如果你试试这个,你会发现浏览器会认为它是一个不应该是这种情况的相对路径。
由于
解决方案:
我选择检查'//'(因为我不知道协议是什么 - 可能是http或https),如果没有找到,我认为它是一个http网站,我在URL前面加上那么 - 简而言之,没办法强迫浏览器将超链接视为绝对的
答案 0 :(得分:8)
您可以在网址前添加//
,这应该可以。
答案 1 :(得分:3)
为什么不预先处理输入并在必要时附加http://
?
答案 2 :(得分:0)
是相对URI。
如果您要链接到 http://google.com/ ,那么您需要链接到此处。
您可以调整要包装的URI,也可以尝试通过算法猜测它是否打算成为相对链接。
请注意,您不能安全地假设应该有 www。,因为对网站使用它只是一种约定,而不再是强烈遵循的约定。