繁体   English   中英

如何从 JS 上的输入字段执行脚本?

[英]How to execute script from an Input field on JS?

单击按钮时,我想从可编辑的输入字段执行脚本

例如,如果您输入“ alert("x"); ”,我想提醒您“x”,但如果您输入“ for(i=0;i<3;i++){alert(i);} “我希望它执行它。

我怎样才能做到这一点?

编辑: eval() 是唯一的解决方案? 因为我读到它很危险: https : //developer.mozilla.org/en/JavaScript/Reference/Global_Objects/eval#section_5

请注意,您正在接受用户的输入并在您网站上的脚本上下文中运行它。 因此,脚本可以执行在您的浏览器/域上运行的 JavaScript 能够执行的任何操作(包括 cookie 窃取、XSS、路过式恶意软件等)。

为了降低风险,您实际可以做的唯一一件事就是不要 eval() 用户提供的内容。 我建议考虑以下替代方案:

  1. 使用iframe作为运行用户脚本的环境: http : //dean.edwards.name/weblog/2006/11/sandbox/
  2. 使用卡哈。 它允许网站安全地嵌入来自第三方的 DHTML Web 应用程序,并实现嵌入页面和嵌入应用程序之间的丰富交互。 它使用对象能力安全模型来支持各种灵活的安全策略。 http://code.google.com/p/google-caja/

快乐编码!

使用 eval() 命令,它将评估并执行您传递给它的 javascript。

使用 eval,比如 onclick="eval(document.getElementById('your_input'))"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM