IE6和IE7之间的浏览器兼容性

Posted

技术标签:

【中文标题】IE6和IE7之间的浏览器兼容性【英文标题】:Browser compatibility between IE6 and IE7 【发布时间】:2010-10-22 01:00:54 【问题描述】:

我正在开发一个项目,我需要根据使用 AJAX 单击的标志更改语言。它在 IE7 中运行良好,但在 IE6 中运行时显示错误。

<html>
  <head>
    <script type="text/javascript" src="http://www.google.com/jsapi"></script>
    <script language="javascript">   
google.load("language", "1"); 

function fnTrans(strTransText,strTransField, strTransFLang, strTransTLang)

    google.language.translate(strTransText, strTransFLang, strTransTLang, function(result) 
      var strcontainer = document.getElementById(strTransField);
      strcontainer.innerHTML = result.translation ;  
      );


function initialize(strToTxtBox, strFromTxtBox) 
    var x = window.location.toString();
    var strLang = x.substring(x.indexOf("=")+1);
    if((x.indexOf("="))==-1) return;
    strFLang = strLang.substring(0,2)
    strTLang = strLang.substring(strLang.indexOf("-")+1);
    var strText = document.getElementById(strFromTxtBox).innerHTML;

    if(strFLang != 'en')
        fnTrans(strText,strFromTxtBox, 'en',strFLang)

    fnTrans(strText,strToTxtBox, strFLang,strTLang) 


function fnhi()

    var label=document.getElementsByTagName("label");
    var count=label.length;
    var x = window.location.toString();
    var strLang = x.substring(x.indexOf("=")+1);
    if((x.indexOf("="))==-1)
         return;
    for(var i=0;i<count;i++)
          
        initialize(label[i].id,label[i].id);
    
document.getElementById("curlang").value=strTLang;


function fnClick(lang)

    if(lang=="") return;
    var curlang=document.getElementById("curlang").value;
    if(lang==curlang) return;
    window.location='language.php?strLang=' + curlang+'-'+lang;


    </script>
    </head>
    <body onload="fnhi()">
    <input type="hidden" id="curlang" value="en" size="3">
    <img src= "langauage.gif" use ="#map">
    <map name="Map">
        <area shape="rect"  value="ar" coords="36,6,62,19" href="#" onclick="fnClick(this.value);">
        <area shape="rect"  value="zh" coords="66,6,90,20" href="#" onclick="fnClick(this.value);">
        <area shape="rect"  value="de" coords="95,6,121,21" href="#" onclick="fnClick(this.value);">
    </map>

    </body>
</html>

【问题讨论】:

“当我在 IE6 中运行它时显示错误”。您在 IE6 中看到了什么错误? @Paul,这是 IE6。无论错误是什么,它都不会提供信息;-) 【参考方案1】:

不清楚问题是什么。 因此我猜。 如果您想在依赖于 javascript 浏览器的情况下做某事,那么 您可以询问从哪个浏览器发送了请求。

<html>
<body>

<script type="text/javascript">
var browser=navigator.appName;
var b_version=navigator.appVersion;
var version=parseFloat(b_version);

document.write("Browser name: "+ browser);
document.write("<br />");
document.write("Browser version: "+ version);
</script>

</body>
</html>

然后添加“if”语句,您可以“自定义”依赖于浏览器的行为。 无论如何我不建议这样做因为你必须维护你的代码 所有的浏览器。您还必须测试不同的浏览器和浏览器版本。

一个可能的解决方案是你使用一些跨浏览器的 javascript 库 就像 Google 的 GWT。

路易斯

【讨论】:

【参考方案2】:

你应该试试http://code.google.com/p/jquery-translate/!

【讨论】:

以上是关于IE6和IE7之间的浏览器兼容性的主要内容,如果未能解决你的问题,请参考以下文章

CSS浏览器兼容性问题解决方法总结

CSS浏览器兼容性问题解决方法总结

IE6IE7IE8火狐兼容性问题

基本的浏览器兼容

浏览器兼容 IE6IE7IE8FirefoxOpera CSS hack区分

IE5,IE6,IE7多版本共存JavaScript调试工具