본문 바로가기

목록이 없습니다.

[AngularJS] a태그의 href에 unsafe가 붙을 때 해결방법

Framework/AngularJS

     

    AngularJS를 사용하다가 a태그의 href 속성에 아무 동작을 시키지 않으려고 javascript:; 또는 javascript:void(0);를 적용할 때가 있습니다. 이 때 운영서버에 배포하고나니 링크가 동작을 안해서 살펴보면 href 속성에 설정해준 javascript:; 앞에 unsafe가 붙어져서 나와있는 경우가 있는데요 이런 경우 간단하게 아래의 config를 최상단 모듈에 설정해주면 됩니다. 

     

     

    app.config(function($compileProvider){
    	// a태그의 href에 정규식 안에 있는 식을 사용했을 때 앞에 'unsafe:'가 붙지 않도록 하기 위함
    	// 'unsafe:'가 붙으면 Chrome브라우저에서는 문제없으나 IE나 다른 브라우저에서는 해당 a태그를 클릭 시 오류페이지로 이동됨
    	$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|file|javascript):/);
    });