前陣子作保守工做,對一個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部分測試