function test() { 
    var a = AJAX返回含有JS的内容
    ......
    document.getElementById(“aaa”).innerHTML = a; //Chrome 浏览器不能执行返回的JS}请问怎么写才能让innerHTML含有的JS执行

解决方案 »

  1.   

     <div id="test">
        </div>
        <script type="text/javascript">
            document.getElementById("test").innerHTML = "aaaaaaaaa";
        </script>
    FF/IE/Chrome全部可以
    你看看你的aaa代表什么?aaa应该是一个容器而不是文本框。如果是<input type='text'>那你应该这样
    document.getElementById(“aaa”).value= a
      

  2.   

    function test() { 
        var a = AJAX返回含有JS的内容
        document.getElementById(“aaa”).innerHTML = a; //Chrome 浏览器不能执行返回的JS
        eval(a);a
    }
      

  3.   

    函数赋值给document.getElementById(“aaa”).innerHTML 有什么意义?
    楼主把a返回的内容贴出来呢?
      

  4.   

    var setInnerHTML = function (el, htmlCode) {
    var ua = navigator.userAgent.toLowerCase();
    if (ua.indexOf('msie') >= 0 && ua.indexOf('opera') < 0) {
    htmlCode = '<div style="display:none">for IE</div>' + htmlCode;
    htmlCode = htmlCode.replace(/<script([^>]*)>/gi,
    '<script$1 defer>');
    el.innerHTML = htmlCode;
    el.removeChild(el.firstChild);
    } else {
    var el_next = el.nextSibling;
    var el_parent = el.parentNode;
    el_parent.removeChild(el);
    el.innerHTML = htmlCode;
    if (el_next) {
    el_parent.insertBefore(el, el_next)
    } else {
    el_parent.appendChild(el);
    }
    }
    }
    在网上找了这个,能支持IE和firefox,但是不支持Chrome
      

  5.   

    innerHTML 插入的html代码中如果包含js代码,无法执行的
    但把js分离出来。eval一下
      

  6.   

    function test() { 
        var a = AJAX返回含有JS的内容
        ......
        eval(a);
    }
        用eval一下就ok了撒,eval可以把字符串解析为js代码,所以他一方面可以解析json字符串,同样也可以解析代码字符串
      

  7.   

    如果不能用eval执行,果断判断是里面的代码文本不合法,自己把文本弹出来看一下吧
      

  8.   

    用eval可以,但对这种调用方式却没反应,不知大家有没有好办法
    <a href="javascript: a.b('1111');">
      

  9.   

    调用页<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>无标题页</title>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                $.post("Default2.aspx",{action:"canshu"},function(result){
                    $("#aaa").html(result);
                    alert(result);
                
                },"text");
                
                $("#but1").click(function(){
                    ss();
                });
                
            });
            
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div id="aaa">
        
        </div>
        <input type="button" id="but1" value="调用default2页面js" />
        
        
        </form>
    </body>
    </html>
    被调用页<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>无标题页</title>
        <script type="text/javascript">
            function ss() //此处有一个js
            {
                alert("记得给分");
            }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        
        </div>
        </form>
    </body>
    </html>
      

  10.   

    引入jquery了,那个文件压缩后90多K,太大了