除了下面指定的代码之外,有没有更好的方法将动态文本注入html字符串?
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;
}
答案 0 :(得分:5)
这应该可以正常工作:
var code = 'siteCode1';
var myHTMLString = '<p>Log in with your '+ siteVarObj(code).siteName + ' account</p>';
答案 1 :(得分:0)
我通常建议避免执行eval中的任何输入,因为 当正确使用时,eval会打开您的注入攻击代码。