加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

从angularJS partial中链接到具有不同域的外部URL

发布时间:2020-12-17 17:40:45 所属栏目:安全 来源:网络整理
导读:我想要做的就是在链接到外部网站的部分的html中包含一个锚标记.如果是这个标准的html,代码就是: a href="http://www.google.com" target="_blank"google/a 就像这一样简单,我似乎无法找到一个有效的解决方案来通过角度拦截路线(或者可能无意中用https://doc
我想要做的就是在链接到外部网站的部分的html中包含一个锚标记.如果是这个标准的html,代码就是:

<a href="http://www.google.com" target="_blank">google</a>

就像这一样简单,我似乎无法找到一个有效的解决方案来通过角度拦截路线(或者可能无意中用https://docs.angularjs.org/api/ng/directive/a指令替换我的锚点?).

我已经搜索了SO和网络的其余部分并看到了无数的处理解决方案:同一域内的链接,SPA内的路由,页面内的路由(ala $anchorScroll)但这些都不是我的问题.

我怀疑它可能与使用$sce有关,但我是Angular n00b并且不确定如何正确使用该服务.我在视图控制器中尝试了以下内容:

$scope.trustUrl = function(url) {
    return $sce.trustAsResourceUrl(url);
}

与相应的:

<a ng-href="{{ trustUrl(item) }}">Click me!</a>

(如下所述:Binding external URL in angularjs template)

但这似乎没有做到这一点(我最终只在渲染页面中使用了href =“{{”).

使用像这样的普通香草锚链接:

<a href="http://www.google.com">google</a>

也没有做到这一点(尽管一些在线建议标准href会导致完整页面重新加载角度:AngularJS – How can I do a redirect with a full page load?).

我也尝试添加target = _self“属性,但这似乎也没有效果.

我是否需要编写如此处所述的自定义指令?

Conditionally add target=”_blank” to links with Angular JS

对于这样一个简单的动作来说,这一切看起来都太复杂了,我觉得我在遗漏中遗漏了一些明显的东西,至少我希望如此,因为这个过程只是为了链接到另一个网址而感到非常繁重.

提前感谢任何解决方案,建议,参考或指导.

解决方法

事实证明,我确实将页面中的所有锚链接绑定到事件侦听器并被覆盖.由于该代码是页面工作方式的基础,我不想搞砸它.相反,我通过使用ng-click调用新URL来绕过它,如下所示:

HTML:

<a class="navLinkHcp" href="{{hcpurl}}" title="Habitat Conservation Plan" target="_blank" ng-click="linkModelFunc(hcpurl)">Habitat Conservation Plan</a>

控制器:

$scope.hcpurl = 'http://eahcp.org/index.php/about_eahcp/covered_species';

$scope.linkModelFunc = function (url){
  console.log('link model function');
  $window.open(url);
}

瞧!很高兴去.再次感谢KevinB,因为这可能是问题所在.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读