js中:
function getLang(callback) {
//debugger;
var node = document.createElement("script");
if (node.addEventListener) {
node.addEventListener("load", callback, false);
}
else {
node.onreadystatechange = function() {
if (this.readyState == "complete") 
callback.call(this);
}
if (window.navigator.systemLanguage=="zh-cn") {
node.type = "text/javascript";
node.src = "js/Drv_Lang_cn.js";
}
else if (window.navigator.systemLanguage=="zh-tw") {
node.src = "js/Drv_Lang_cn.js";
}
else if (window.navigator.systemLanguage=="en") {
node.src = "js/Drv_Lang_cn.js";
}
document.getElementsByTagName("head").item(0).appendChild(node);
node = null;
}
}html中:
<body onload="getLang(function() {setter();});">现在在IE中是可以正常的,但是在ff下却出现了问题,当执行的时候查看callback是error的

解决方案 »

  1.   

    FF中不支持systemLanguage以下js在FF中测试正常
    function getLang(callback) { 
    //debugger; 
    var node = document.createElement("script"); 
    if (node.addEventListener) { 
    node.addEventListener("load", callback, false); 

    else { 
    node.onreadystatechange = function() { 
    if (this.readyState == "loaded") 
    callback.call(this); 

    }
    var wn=window.navigator;
    if (wn.systemLanguage=="zh-cn" || wn.language=="zh-CN") { 
    node.type = "text/javascript"; 
    node.src = "http://counter.csdn.net/a/js/AreaCounter.js"; 

    else if (wn.systemLanguage=="zh-tw" || wn.language=="zh-TW") { 
    node.type = "text/javascript";
    node.src = "http://counter.csdn.net/a/js/AreaCounter.js"; 
    alert('tw');

    else if (wn.systemLanguage=="en" || wn.language=="zh-EN") { 
    alert('en');
    node.src = "http://counter.csdn.net/a/js/AreaCounter.js"; 

    document.getElementsByTagName("head").item(0).appendChild(node); 
    node = null; 
     

     
      

  2.   

    我测试过了 的确测试可以通过 但是当在body中添加了div的时候就不能调用了 急等!!!
      

  3.   

    还有就是这个页面我是放到frameset中的 不知道是否有影响
      

  4.   

    现在在调用getLang(callback)的时候显示callback error ...
      

  5.   

    不明白你说的意思,以下代码是原有基础上修改了一点,body里放了div,可以运行.
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
      <SCRIPT LANGUAGE="JavaScript">
      <!--
    function getLang(callback) { 
    //debugger; 
    var node = document.createElement("script"); 
    if (node.addEventListener) { 
        node.addEventListener("load", callback, false); 

    else { 
    node.onreadystatechange = function() { if (this.readyState == "loaded" ||this.readyState=="complete") 
    callback.call(this); 

    }
    var wn=window.navigator;if (wn.systemLanguage=="zh-cn" || wn.language=="zh-CN") { 
    node.type = "text/javascript"; 
    node.src = "http://counter.csdn.net/a/js/AreaCounter.js"; 

    else if (wn.systemLanguage=="zh-tw" || wn.language=="zh-TW") { 
    node.type = "text/javascript";
    node.src = "http://counter.csdn.net/a/js/AreaCounter.js"; } 
    else if (wn.systemLanguage=="en" || wn.language=="zh-EN") { node.src = "http://counter.csdn.net/a/js/AreaCounter.js"; 

    document.getElementsByTagName("head").item(0).appendChild(node); 
    node = null; 
     
    }   //-->
      </SCRIPT>
     </HEAD> <BODY onload="getLang(function(){alert('test ok')})">
      <div style="width:200px;height:300px;border:1px solid;"></div>
     </BODY>
    </HTML>