0

У меня есть приложение динамической аяксии, и я сохраняю состояние, когда пользователь закрывает окно проводника. Он работает нормально во всех браузерах, но в IE есть проблема. После того, как я дважды закрою вкладку приложения, я больше не могу подключиться к серверу.ie save onunload ошибка

Моя теория заключается в том, что соединение с сервером не завершается, когда вкладка закрывается, и каким-то образом ie7 считает, что у нее есть 2 выдающихся соединения с сервером, и поэтому очереди на неопределенный срок очереди.

Кто-нибудь испытал это, любое обходное решение или решение?

ответ

-1

Ну, вы можете легко преодолеть ограничение соединения; просто создайте домен подстановочных знаков и проинструктируйте ваше приложение объединить поддомены; например a.rsrc.dmvnoc.com, b.rsrc.dmvnoc.com и т. д., для моего netMail application. Без этого трюка предварительная загрузка всех изображений занимает почти 30 секунд в локальной сети (из-за низкого предела подключения MSIE), но с ним загрузка изображений происходит через секунду.

Если вам нужно комбинировать скрипты с этим трюком, просто установите document.domain родительскому в новых скриптах.

Тем не менее, вы можете захотеть проверить состояние на изменение в любом случае - пользователь может потерять свое сетевое соединение или компьютер может сработать. Если вы хотите уменьшить сетевой трафик, попросите клиента просто установить куки-файл, который содержит релевантное состояние - вы можете вместить туда очень много (3000 байт или около того), а затем сервер автоматически получает его на следующем соединении, где он может сохранить результаты (как это сейчас делает) и удалить файл cookie, чтобы сообщить, что он сохранил состояние.

1

В IE, если вы используете запрос AJAX с длинным опросом, вам нужно закрыть соединение XHR на «выгрузке». В противном случае он будет сохранен браузером, даже если вы перейдете от своего сайта. Эти поддерживаемые соединения затем вызовут зависание, потому что ваш браузер достигнет максимального предела открытого соединения.

Эта проблема не возникает в других браузерах.

Смежные вопросы