【发布时间】:2021-08-30 07:10:25
【问题描述】:
我有一个与 AngularJS 结合的 ASP.NET 页面。我有一些链接。所有链接都具有target="_blank" 属性。此外,<body> 标签还有一个ng-app 属性。
<body ng-app="MyApp">
@Html.ActionLink("SomeLink", "SomeAction", "SomeController", null, new { target = "_blank" })
<a href="https://www.google.com" target="_blank">Google</a>
...
</body>
让我感到困惑的是,第一个(“内部”)链接是在新选项卡中打开的,而第二个(“外部”)链接是在当前选项卡中打开的(Chrome 和 Firefox 的行为都是这样的)。我想这是 AngularJS 代码中的东西,但不知道。
我还有另一个页面,其中只有 ng-app 不同:ng-app="MyAnotherApp"。这个按预期工作 - 所有链接都在新标签中打开。
感谢您的建议。
更新
链接在两个页面中均等呈现:
<a href="/SomeApp/SomeController/SomeAction" target="_blank">SomeLink</a>
<a href="https://www.google.com" target="_blank">Google</a>
尽管如此,这两个链接的打开方式不同。
网络应用程序的哪个部分决定打开新标签页?浏览器和脚本还是服务器?我在考虑 AngularJS 中是否有任何机制可以影响链接是否在新/当前选项卡中打开 - 不同的ng-app 让我想到了这个想法。
【问题讨论】:
-
如果它在另一个 ng-app 中运行良好,那么您的示例中没有传达的这两个链接之间肯定存在差异