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

How to execute script from an Input field on JS?

本文关键字:字段 执行 脚本 输入 JS      更新时间:2023-09-26

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

例如,如果你输入"alert("x");",我想提醒你"x",但如果你输入"for(I =0;i<3;i++){alert(I);}",我想让它执行它。

我怎样才能做到这一点?

Edit: 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/

编码快乐!

试试这个:)http://www.w3schools.com/jsref/jsref_eval.asp

使用eval()命令,它将计算并执行你传递给它的javascript。

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