代码如下:
<script type="text/javascript" src="http://exmail.qq.com/zh_CN/htmledition/js_biz/outerlogin.js"  charset="gb18030"></script>
<script type="text/javascript">
writeLoginPanel({domainlist:"nachl.com", mode:"vertical"});
</script>
需要用js加载:
方法一,js输出“<script>”之类的html代码,尚未找到函数;
方法二,jQuery.getScript("http://exmail.qq.com/zh_CN/htmledition/js_biz/outerlogin.js", function(){writeLoginPanel({domainlist:"nachl.com", mode:"vertical"});
由于charset="gb18030"的原因,出现乱码;
方法三,$.ajax,同二,出现乱码:     $.ajax({  
                type:"GET",  
                url:"http://exmail.qq.com/zh_CN/htmledition/js_biz/outerlogin.js",  
                dataType:"script", 
cache:"none",
                success:function(data){  
                        writeLoginPanel({domainlist:"nachl.com", mode:"vertical"});
                }  
            }); 
方法四:document.write();
不知道何种原因,就是没法显示好,碰到""加\;将"换成'都不行
真不知道咋弄好,新手,求指教。

解决方案 »

  1.   

    // 动态导入js
    function include(src,encoding,fun) 

      var s = document.createElement('script');  
      s.type='text/javascript';
      s.charset=encoding; //'gb2312';
      s.src = src;  
      var tags =document.getElementsByTagName('head');  
      if(typeof(fun)=='function'){
      if( document.all ){
      s.onreadystatechange = function(){
      if(/(complete|loaded)/.test(this.readyState)){
      fun(); s.onreadystatechange = null; s.parentNode.removeChild(s); 
      }};
      }else{
      s.onload = function(){ fun(); s.onload = null; s.parentNode.removeChild(s); };
      }
      } 
      tags[0].appendChild(s); 
    };
    include('http://exmail.qq.com/zh_CN/htmledition/js_biz/outerlogin.js','gb18030',function(){writeLoginPanel({domainlist:"nachl.com", mode:"vertical"});});