Совместимость браузера между IE6 и IE7 - PullRequest
0 голосов
/ 27 апреля 2009

Я разрабатываю проект, в котором мне нужно изменить язык в соответствии с флагом, который я нажимаю, используя 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" alt="Arabic" value="ar" coords="36,6,62,19" href="#" onclick="fnClick(this.value);">
        <area shape="rect" alt="Chinese" value="zh" coords="66,6,90,20" href="#" onclick="fnClick(this.value);">
        <area shape="rect" alt="German" value="de" coords="95,6,121,21" href="#" onclick="fnClick(this.value);">
    </map>

    </body>
</html>

Ответы [ 2 ]

0 голосов
/ 27 августа 2009

Вы должны попробовать http://code.google.com/p/jquery-translate/ вместо!

0 голосов
/ 27 апреля 2009

Не понятно, в чем вопрос. Поэтому я догадываюсь. Если вы хотите сделать что-то в зависимости от браузера 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, которые являются кроссбраузерными. как GWT от Google.

1010 * Луис *

...