2012-12-20 8 views
1

아래 지정된 코드 이외의 html 문자열에 동적 텍스트를 삽입하는 더 좋은 방법이 있습니까?문자열 내에서 javascript 함수 실행

var code = 'siteCode1'; 문자열로

HTML 코드 :

existing: '<p>Log in with your'+ eval("siteVarObj('+code+').siteName") +'account</p>', 


function siteVarObj(siteCode){ 
      if(siteCode === 'siteCode1'){ 
       this.siteName = 'google.com'; 
       this.siteContactUsURL = ''; 
      }else if(siteCode === 'siteCode2'){ 
       this.siteName = 'stackoverflow.com'; 
       this.siteContactUsURL = ''; 
      } 
      return this; 
     } 
+2

'eval' ==='evil' –

답변

5

이 잘 작동합니다 :

var code = 'siteCode1'; 
var myHTMLString = '<p>Log in with your '+ siteVarObj(code).siteName + ' account</p>'; 
0

나는 일반적으로 평가가 코드를 열기 때문에 평가 내에서 모든 입력의 실행을 방지하기 위해 제안 부적절하게 사용될 때 주입 공격.

관련 문제