Функция setInterval не работает на I.E. 10. У меня есть веб-страница, когда при отправке формы она запускает длительный процесс на сервере для загрузки файла. Я использую setInterval для повторного опроса сервера для достижения прогресса, чтобы пользователь получил какое-то обновление прогресса.setInterval on IE10
ProgressServlet будет вызван только один раз. Я не тестировал это на другом веб-браузере, потому что «незаконно» использовать другой браузер в моей компании.
<script>
var myVar;
function validateForm()
{
\t //validation logic omitted
myVar = setInterval(getProgress(), 1000);
\t return true; \t
} \t \t \t
function getProgress() {
\t //ProgressServelt will return progress of the long process on the server
\t $.get("ProgressServlet", $.now(), function(res) {
\t \t if (res != "9999" || res == "No value avaliable") {
\t \t \t $("#progress").html(res);
\t \t } else {
\t \t \t $("#progress").html("Stopped: " + res);
\t \t \t clearInterval(myVar);
\t \t }
\t });
\t \t
}
</script>
<form method="post" action="CreateServlet" name = "create">
Change Number(s):<br>
<input type="text" name="change" id="change">
<p></p>
<input type="submit" value="Download" onClick="return validateForm()">
</form>
<p></p>
<button id="send" name="send">Display</button>
получить кеши, так что, надеюсь, вы установите правильные заголовки кеша – epascarello
Дубликат [Почему мой вызов функции должен быть запланирован с помощью setTimeout, выполненного немедленно?] (Http://stackoverflow.com/questions/2037203/why-is- my-function-call-that-should-be-schedule-by-settimeout-execute-immediatelyiat) – apsillers