1

除了下面指定的代码之外,还有更好的方法将动态文本注入到 html 字符串中吗?

var 代码 = '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;
        }
4

2 回答 2

5

这应该可以正常工作:

var code = 'siteCode1';
var myHTMLString = '<p>Log in with your '+ siteVarObj(code).siteName + ' account</p>';
于 2012-12-20T19:59:42.107 回答
0

我通常建议避免在 eval 中执行任何输入,因为 eval 在使用不当时会打开您的代码进行注入攻击。

于 2012-12-20T20:04:05.913 回答