我想在单击按钮时从可编辑的输入字段执行脚本
例如,如果您键入“ alert(”x“); ”,我想提醒您“x”,但如果您输入“ for(i = 0; i< 3; i ++){alert(i);} “我希望它能够执行它。
我怎样才能做到这一点?
编辑: eval()是唯一的解决方案?因为我读到它很危险: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/eval#section_5
答案 0 :(得分:3)
请注意,您正在接收用户的输入并在您网站上的脚本环境中运行。因此,脚本可以执行浏览器/域上运行的JavaScript能够执行的任何操作(包括cookie窃取,XSS,偷渡式恶意软件等)。
您唯一可以现实地做的是减轻风险,而不是eval()用户提供的内容。我建议考虑以下替代方案:
iframe
作为运行用户脚本的环境:
http://dean.edwards.name/weblog/2006/11/sandbox/ 快乐的编码!
答案 1 :(得分:1)
答案 2 :(得分:1)
使用eval()命令,它将评估并执行您传递给它的javascript。
答案 3 :(得分:0)
使用eval,例如onclick =“eval(document.getElementById('your_input'))”