我的代码如下
     StringBuilder html = new StringBuilder();
   html.append("<script javalauge=\"javascript\">")
       .append("var data = $(\"#material\").val();")
       .append("var dataValue = eval(\"(\"+date+\")\");")
       .append("</script>");   为什么 360就不执行上面那段代码了呢?、
   遨游也同样。运行IE又可以,firefox都能执行,也不报错
   这让小弟很难理解~~!

解决方案 »

  1.   

    .append("var dataValue =(new Function('','return '+json))();")改成这样试试
      

  2.   

    .append("var dataValue =(new Function('','return '+date))();")
      

  3.   


    我要将这个data 转换成数组~!  
      你这样可以么?
      

  4.   


    这个跟eval效果一样的~·你试试看  360还报错吗
      

  5.   

      我自己这开始也这样写过一次,就是将他直接等于
    new function(data){
        return eavl('('+data+')');
    }
    但是也不行!!还有没有更好的办法!!
     help me !!
      

  6.   

    这种写法报错了。。firefox也报错~!  
      

  7.   

    .append("</script>");这个是不是应该这么写~·.append("<\/script>");
      

  8.   


    (function($) {
    $.fn.loadScript = function(src, callBack) {
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.text = src;
    this.get(0).appendChild(script);
    }
    })(jQuery);
    $(document).ready(function() {
    $('head').loadScript('var data = $(\"#material\").val();var dataValue = eval("("+data+")");alert(dataValue.name);');
    });
      

  9.   

    非用StringBuilder吗?
    var html="<script javalauge=\"javascript\">var data = $(\"#material\").val();var dataValue = eval(\"(\"+date+\")\");</script>");你那么写的,阅读起来也不比这样清晰多少,效率却没必要的浪费不少。