使用 ng-bind-html 时如何在 angularjs 中允许外部 link
How to allow external link in angularjs when using ng-bind-html
这是呈现的代码
<div>dfdbfbdfbdfbdfbdfbfb gdfgfggtbrtb
<a href="www.github.com" target="_blank"> rtrtrt
</a>
<p></p>
</div>
我明白了,当我点击超链接文本时
https://myapp.io/www.github.com
尝试 <a href="https://www.github.com" target="_blank">
您粘贴的 link 目的地是相对于您所在域的。
简单的方法是在控制器中使用 $window 并在视图中单击 ng。
在视图中:
<a ng-click="myFunctionToGoAwayFromAngularJS()">click me</a>
在控制器中:
$scope.myFunctionToGoAwayFromAngularJS = function () { $window.open("https://www.github.com"); };
显然你需要在你的控制器中注入 $window。这样你就可以将 ng-click 分配给你想要的任何标签,而不仅仅是锚标签。
记得在外部 link 中使用 HTTP 协议,如果在 link 之前不使用 HTTP,它将被视为本地资源 link。在您上面提到的代码中,您应该使用
<a href="http://www.github.com">Github</a>
而不是
<a href="www.github.com">Github</a>
这是呈现的代码
<div>dfdbfbdfbdfbdfbdfbfb gdfgfggtbrtb
<a href="www.github.com" target="_blank"> rtrtrt
</a>
<p></p>
</div>
我明白了,当我点击超链接文本时
https://myapp.io/www.github.com
尝试 <a href="https://www.github.com" target="_blank">
您粘贴的 link 目的地是相对于您所在域的。
简单的方法是在控制器中使用 $window 并在视图中单击 ng。
在视图中:
<a ng-click="myFunctionToGoAwayFromAngularJS()">click me</a>
在控制器中:
$scope.myFunctionToGoAwayFromAngularJS = function () { $window.open("https://www.github.com"); };
显然你需要在你的控制器中注入 $window。这样你就可以将 ng-click 分配给你想要的任何标签,而不仅仅是锚标签。
记得在外部 link 中使用 HTTP 协议,如果在 link 之前不使用 HTTP,它将被视为本地资源 link。在您上面提到的代码中,您应该使用
<a href="http://www.github.com">Github</a>
而不是
<a href="www.github.com">Github</a>