无法使用href或ng-href跳转到外部URL

4
我正在尝试使用AngularJS创建一个动态URL,以便将用户带到外部网站。然而,当单击链接时,该链接会将用户带到我的页面上的路由。
例如,如果我的网址是“mysite.com”,我的链接是“google.com”。如果我单击此链接,无论是使用“href”还是“ng-href”,它都会将我带到我的网站上不存在的路由:“mysite.com/google.com”。
如何导航到外部URL?
以下是我的代码示例:
<a href="{{ linkItem.link }}" target="_blank">View file</a>

linkItem.link是 "google.com"。但这对于任何网页都没有预期效果,即使是那些具有硬编码 href 属性的网页也是如此。

1个回答

21

问题是由于URL中没有协议(即http://https://)前缀,导致浏览器认为它是相对路径。解决方法有两种:

  1. 要求用户输入以http://https://开头的有效URL。

  2. 创建一个过滤器或指令,如果缺少前缀,则添加前缀。


4
我想指出这与Angular无关,因为 href 属性的工作方式已经存在超过20年了。 - Diego Mijelshon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接