【问题标题】:How to allow external link in angularjs when using ng-bind-html使用ng-bind-html时如何在angularjs中允许外部链接
【发布时间】:2019-03-11 09:02:39
【问题描述】:

这是渲染的代码

<div>dfdbfbdfbdfbdfbdfbfb gdfgfggtbrtb  
   <a href="www.github.com" target="_blank"> rtrtrt
   </a>
   <p></p>
</div>

当我点击超链接文本时,我明白了

https://myapp.io/www.github.com

【问题讨论】:

    标签: angularjs angular-routing ng-bind-html


    【解决方案1】:

    外部链接记得使用HTTP协议,如果链接前没有使用HTTP,会被认为是本地资源链接。在您上面提到的代码中,您应该使用

    &lt;a href="http://www.github.com"&gt;Github&lt;/a&gt;

    代替

    &lt;a href="www.github.com"&gt;Github&lt;/a&gt;

    【讨论】:

      【解决方案2】:

      试试&lt;a href="https://www.github.com" target="_blank"&gt;,您粘贴的链接目标与您所在的域相关。

      【讨论】:

      • 我尝试将 href 替换为 ng-href.... 但这并没有解决问题。
      • 外部链接是从一个角度应用程序打开的,所以在这种情况下,我想删除主域并重定向到给定的外部链接
      • 我尝试了上面的hack,我得到https://https//gdpr-info.eu/我正在使用这种方法添加http string.replace('="','="https://')
      • 确保在链接的 https 后正确添加 :
      【解决方案3】:

      简单的方法是在控制器中使用 $window 并在视图中单击。
      在视图中:

      <a ng-click="myFunctionToGoAwayFromAngularJS()">click me</a>
      

      在控制器中:

      $scope.myFunctionToGoAwayFromAngularJS = function () { $window.open("https://www.github.com"); };
      

      显然你需要在你的控制器中注入 $window。这样,您可以将 ng-click 分配到您想要的任何标签中,而不仅仅是锚定标签。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-03-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多