<html>
<head>
    <title>动态添加javascript</title>
    <script type="text/javascript">
        var testShow;
    
        function testAdd(){
            var s='alert(\"Hello\");';
            testShow = new Function(s)
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <input type="button" onclick="testShow();" value="测试"/>
    <input type="button" onclick="testAdd();" value="增加"/>
    </div>
    </form>
</body>
</html>
注意不要定义 add show 为自定义方法

解决方案 »

  1.   

    非常感谢,呵呵。。如果是一段例如"<SCRIPT type=text/javascript>function show(){alert(\"Hello\");}<\/script>"的代码呢。。怎么把这段代码正常地解析成 
     <script type="text/javascript">
       function show(){
          alert("show");
     }
    </script>[
    由于我现在做的一个小东西要往页面中加入很多类似的东西。。比如给定一个字符串。。
        "<script type=\"text/javascript\" src=\"demo.js\"></script>"
      

  2.   

    <button onclick="fun()">click</button>
    <button onclick="show()">show</button>
    <script type="text/javascript">
    function fun()
    {
    //firefox可以
    /*var div = document.createElement("div");
    var str = '<script type="text/javascript">\
    function show()\
    {alert("good")}\
    <\/script>'
    div.innerHTML = str;
    document.body.appendChild(div);*/

    var spt = document.createElement("script");
    spt.type = "text\/javascript";
    //spt.innerHTML = "function show(){alert(123)}";//firefox下可以
    spt.src = "js.js";//IE和firefox都可以
    document.body.appendChild(spt);
    }
    </script>
      

  3.   

    已測試ok
    <body>
    <div id="test"></div>
    <input type="button" onclick="test()" />
    <script type="text/javascript">
    function addScript(id,str){
        window.execScript((str+";").replace(/<\/?script[^\)]*>/ig,"").replace(/document.write\((.*?)\)[\s;]/ig,function(){
            return ("document.getElementById('"+id+"').innerText+="+arguments[1]+";");
        }));
    }function add(){
    var id="test";
    var str="alert('xx');\n var a=100;document.write('(xxx)');document.write('aaaa')\n";
    addScript(id,str);
    };
    </script>
    <input type="button" value="add"  onclick="add()"/>