执行动态 HTML/JavaScript

Execute dynamic HTML/JavaScript

本文关键字:JavaScript HTML 动态 执行      更新时间:2023-09-26

我想创建一个文本区和一个除法,以便您在文本区中放入的任何嵌入代码都会在除法上实时执行。

非常感谢您的帮助!

JavaScript 新手

这是一个尝试:

<script type="text/javascript">
var X = " HTML or JavaScript "
window.onload=function()
{
document.getElementById("result").innerHTML = document.getElementById("input").value;
}
</script>
<textarea id="input" cols="35" rows="7"> X </textarea>
<div id="result"></div>

当您单击文本区域之外的任意位置时,这将评估文本区域的内容。(代码更新为将源(<textarea/>)的结果设置为HTML如果源以小于('<')开头或将评估源的结果设置为Javascript。

<textarea id="js" onBlur="run(this)"></textarea>
<div id="result">Result goes here!</div>
<script type="text/javascript">
  function run(elt){
    var target_div=document.getElementById('result'),
        result='';
    if(target_div) {
      if(elt.value.match(/^'s*</)) { // content of textarea begins with less-than
        result=elt.value;
      }
      else { // eval content of textarea as Javascript
        try {
          result=eval(elt.value);
        }
        catch (e) {
          alert('failed to eval source:'+e.description);
        }
      } // else match
      if(result) {
        target_div.innerHTML=result;
      }
    } // if target_div
    return false;
  } // end run
</script>

当然,允许用户执行任意代码通常被认为是一个非常糟糕的主意。

查看Eval()

下面是一些帮助您入门的代码。

 <textarea id='js'>window.alert('Hello Cruel World');</textarea> <input type=submit onclick="run()" value="run">
 <script>
 function run ()
 {
      eval(document.getElementById('js').value);
 }
 </script>