IE11 - Событие onprogress уровня 2 XMLHttpRequest не вызывается, если данные фрагмента больше 4 кБ
Я использую XMLHTTPRequest уровня 2, чтобы сохранить липкое соединение с сервером.
В IE10, Chrome и Firefox каждый полученный блок данных вызывает событие onprogress, как и ожидалось. Однако в IE11, если порция данных имеет размер более 4 КБ, событие не инициируется для этой порции. Это будет срабатывать только после того, как я получу что-то еще.
Я реализовал обходной путь, который отправляет фиктивные данные через 0,5 секунды, если предыдущий блок был больше 4k, поэтому для фиктивных данных запускается onprogress, и я могу получить нужные данные.
Я хотел бы знать: реальное поведение IE11 в отношении onprogress, чтобы убедиться, что есть лучшее решение для этой проблемы, или если обходное решение действительно является правильным.
Любая помощь?
1 ответ
Вы тестировали некоторые другие события, такие как "readystatechange", "load" или "loadend"? Если это так, я думаю, что после того, как IE обрабатывает некоторые события, не так много вещей. В зависимости от кода, работающего на сервере, это может вызвать некоторые побочные эффекты на стороне сервера.