我在Chrome中使用<progress>
标记时遇到问题(在不确定状态下使用它)。它首先动画完美,直到我拍摄XMLHttpRequest
,此时progress
元素停止制作动画。
XMLHttpRequest
完成后,progress
元素会再次启动动画。
此问题在Firefox中不会发生 - 在Firefox中,progress
元素在处理XMLHttpRequest
期间继续制作动画。
显然这是Chrome中的线程问题 - 有没有人知道这方面的解决方法?
编辑:添加了一些代码。
JavaScript部分(使用jQuery):
function process() {
$("#start").val("Processing...");
$("#start").attr("disabled", "disabled");
$("#pbar").show();
setTimeout(function() {
if (window.XMLHttpRequest) { // ie7+, firefox, chrome, safari, opera
xmlhttp = new XMLHttpRequest();
} else { // ie6, ie5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", "/process/generateProdOrders.asp?f=" + $("#from").val() + "&t=" + $("#to").val(), false);
xmlhttp.send();
var xmlDoc = xmlhttp.responseXML;
var numOrders = parseInt(xmlDoc.getElementsByTagName("orders")[0].childNodes[0].nodeValue);
$("#result").append("<br />" + numOrders + " orders generated");
$("#pbar").hide();
$("#start").val("Done");
}, 50);
}
HTML部分:
<input type="button" id="start" value="Start" onclick="process()"><br />
<progress id="pbar" style="display: none;">Processing orders...</progress><br />