我正在为一个闲暇时间开发的聊天应用程序编写 JS,我需要根据用户提交的数据更改 HTML 标识符。这通常是概念上应该做的事情...
我在空闲时间开发一个聊天应用程序,需要根据用户提交的数据更改 HTML 标识符。这在概念上通常比较复杂,我甚至不会尝试,但这次我别无选择。我需要做的是转义 HTML id,以确保它不会允许 XSS 或破坏 HTML。
代码如下:
var user_id = escape(id)
var txt = '<div class="chut">'+
'<div class="log" id="chut_'+user_id+'"></div>'+
'<textarea id="chut_'+user_id+'_msg"></textarea>'+
'<label for="chut_'+user_id+'_to">To:</label>'+
'<input type="text" id="chut_'+user_id+'_to" value='+user_id+' readonly="readonly" />'+
'<input type="submit" id="chut_'+user_id+'_send" value="Message"/>'+
'</div>';
最佳方法是什么 id
?如您所见,现在我正在使用内置函数 escape()
,但我不确定与其他替代方案相比,它有多好。我主要习惯在输入进入文本节点之前对其进行清理,而不是 id 本身。