alert對ajax阻塞調查(IE, Chrome, FF)

前陣子作保守工做,對一個js效果進行了改進,因爲本身在chrome下測試沒問題就丟給同事測試,同事用的是FF,發現不正常,後來又發現這個js在IE10下也不行,不得不調查,結果發現Chrome的alert對ajax是徹底阻塞的,可是IE10和FF即便彈出alert,也不會影響正在ajax的訪問,也就是不阻塞ajax。php

附上測試代碼ajax

<div id="result"></div>

<script>
    function loadXMLDoc(url) {
        var xmlhttp;
        xmlhttp = null;
        xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function () {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                if (xmlhttp.responseText == '1') {
                    alert(1);
                    document.getElementById('result').innerHTML='';
                }else if(xmlhttp.responseText == '2') {
                    document.getElementById('result').innerHTML='123456';
                }
            }
        };
        xmlhttp.open("GET", url, true);
        xmlhttp.send(null);
    }

    loadXMLDoc('http://localhost/echo.php?s=1');//返回1,爲了讓alert彈出
    loadXMLDoc('http://localhost/echo.php?s=2');//返回2,爲了讓div#result部分修改值
</script>

會發如今ff和ie10下,alert彈出後及時不關閉它也不會阻塞住後面對div#result部分修改的代碼的執行chrome

但chrome下只有點了ok以後纔會修改div#result部分測試

相關文章
相關標籤/搜索