2016-09-21 2 views
0

Угловой 2 окончательный выпуск.sanitizing небезопасное значение URL javascript

У меня есть ссылка, следующая как ссылается на href = "javascript :;" моя ссылка

и я получаю следующее предупреждение

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

мне нужна ссылка, чтобы быть Javascript :; потому что, если я сделаю это '#' или '', он обновит страницу.

Я прочитал пару сообщений, где люди сообщают об этой проблеме угловатым людям, и они исправит ее. Любая помощь приветствуется.

+0

Какова цель того, чтобы иметь связь с фиктивной HREF в вашем случае? Скорее всего, у вас есть проблема XY с 'javascript:;'. – estus

+0

ng-bootstrap downdown main href мы должны держать его пустым и иметь свои выпадающие элементы. если мы не храним его javascripot :; и щелчок по нему обновляется. –

+0

Я динамически генерирую элементы. они могут иметь прямые ссылки или выпадающие списки. если они свяжутся, я использую url для заполнения в href. если они падают, я делаю href как void (0); поэтому при нажатии на нее не нужно обновлять страницу. –

ответ

0

сделано с помощью pkozlowski-OpenSource

Я не думаю, что вы хотите, чтобы обмануть санитарную здесь. Если вы используете ссылку, которая имеет событие щелчка, и это не должно вызывать навигации просто предотвратить действие по умолчанию для события, напр .:

<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 
} 

работы как очарование нет предупреждений и т.д ..

Смежные вопросы