2009-08-04 7 views
0

私は私のコードを配置しています、私はそれがwindow.locationの に問題を与えていることに気づいた私のプロジェクトは、Firefox、GoogleのchormeとIEで完璧に8.0IE 6.0と7.0(window.location)でプロジェクトを実行していますか?

を実行している。しかし、それはIE 6.0または7.0

に動作していません私は何をしているのかをここに示します。私はそれはIE 6と7にかなりprofile.htmlする以上行くべきxmlhttp.responseTextで私のAJAXからの応答を取得すると

function GetEmailId() 
{ 
    var url="http://server.com/GetPostEmail.php"; 
    url=url+"&sid="+Math.random(); 
    xmlhttp.onreadystatechange=statechangedLogin2; 
    xmlhttp.open("GET", url, true); 
    xmlhttp.send(null); 
} 
function statechangedLogin2() 
{ 
    if(xmlhttp.readyState==4) 
    { 
     if(xmlhttp.responseText=="Login again") 
     { 
      window.location="http://server.com/profile.html"; 
     } 
    } 
} 

だから、このコードは、IE 6と7 を除く他のブラウザでは正常に動作していますそれは私がqotw.htmlであった元のページにとどまっています。

私はwindow.locationに何か問題があると思う、おそらく私はここで別のコマンドが必要です。

また、私のGetXmlHttpObjectもこのように見えます。

function GetXmlHttpObject() { 
    //var xmlHttp = null; 
    try { 
    xmlHttp = new XMLHttpRequest(); 
    } catch (e) { 
    try { 
     xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); 
    } catch (e) { 
     xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    } 
    return xmlHttp; 
} 

誰かが私のこの問題について私を助けることができる場合は、ください。

よろしく zeeshan

注:私は再び)私のコードを解読しようとしましたが、IE 6と7に私のコードは、statechangedLogin2(に入ることはないことに気づきました。それが私のコードがうまくいかない理由です。しかし、IE8でも他のブラウザでうまく動作しているコードとして、なぜそれが起こっていますか?

+0

window.locationが有効です。 IE6または7のコードをデバッグして、window.locationが問題であることを確認しましたか(つまり、window.location行の上にアラートボックスを置く)?コードは間違いなく最後の "if"文の中に入っていますか? – JamesEggers

答えて

1

プロパティlocationプロパティはオブジェクトで、URLはそのオブジェクトのhrefプロパティです。これを代わりに使用してください:

window.location.href="http://server.com/profile.html"; 
関連する問題