2016-09-21 56 views
0

Angular 2 final release。消除不安全的URL值javascript

我有我的链接如下与指的是href =“javascript :;” 我的链接

和我得到以下警告

WARNING: sanitizing unsafe URL value javascript:; (see http://g.co/ng/security#xss) 

我需要我的链接是JavaScript的:;因为如果我让它'#'或''刷新页面。

我已经阅读了一些帖子,其中人们向角度人物报告这个问题,他们会解决它..任何帮助表示赞赏。

+0

什么在你的情况下,与虚拟的href链接的目的是什么? 'javascript:;'很有可能你有XY问题。 – estus

+0

ng-bootstrap下拉主href我们得把它保持空,并有下拉项目。如果我们不保留它javascripot :;并点击它刷新自己。 –

+0

我正在动态生成元素。他们可以有直接的联系或下降。如果他们链接我使用URL来填充href。如果他们下降我把href作为void(0);所以点击它不应该刷新页面。 –

回答

0

与pkozlowski-开源

的帮助下,你想在这里招消毒,我不认为做。如果您使用的是具有一个click事件的链接,它不应触发导航只是防止对事件默认操作,例:

<a (click)="$event.preventDefault(); doSth()"> or even shorter 
<a (click)="!!doSth()"> 

基准柱 https://github.com/angular/angular/issues/11805#issuecomment-248840338

我只是去掉href和补充点击事件如下

<a (click)="!!navigateToUrl(urlVar)">..</a> 

注意:'!!'防止触发“href”操作并阻止页面刷新。 的navigateToUrl是我的js方法只是我做的

if(urlVar){ 
window.location.href=urlVar 
} 

作品般的魅力没有警告等。