Internet Explorer 10 застива, когато затворите уеб страница по време на XHR заявка

Симптоми

Да разгледаме следния сценарий:

  • Преминете към определена уеб страница чрез Internet Explorer 10.

  • Уеб страницата съдържа скрипт, който прави заявка за асинхронна XMLHttpRequest (XHR), когато уеб страницата.

  • Можете да затворите уеб страницата през XHR искане.

  • Отговор на заявка за XHR е по-голям от 2 KB (включително заглавните данни).

В този случай може да загубите HTTP връзка към даден хост. Тогава когато се опитате да преминете към друга уеб страница на хоста, можете да наблюдавате замръзване мрежа. Този проблем възниква, когато губите максималния брой едновременни връзки към хоста.

Забележка: Този проблем възниква в Internet Explorer 7, Internet Explorer 8 и Internet Explorer 9 режима на документ в Internet Explorer 10.

Решение

Информация за актуализация на защитата

За да разрешите този проблем в Internet Explorer 9 или Internet Explorer 10, инсталирайте най-новата сборна актуализация на защитата за Internet Explorer. За целта посетете следния уеб сайт на Microsoft:

http://update.microsoft.com
Бележки

  • Тази актуализация за Internet Explorer 10 първо е включена в следните защитата:

    2838727 MS13-047: кумулативна актуализация на защитата за Internet Explorer: 11 юни 2013 г.

  • За да инсталирате тази актуализация за Internet Explorer 9, щракнете върху следния номер на статия в базата знания на Microsoft:

    2905733 Internet Explorer губи HTTP връзки, когато затворите уеб страница, преди да се появят XHR отговор

  • За повече информация относно най-новата сборна актуализация на защитата за Internet Explorer посетете следните уеб сайтове на Microsoft:

    http://www.microsoft.com/technet/security/current.aspx

Заобикаляне на проблема

За да заобиколите този проблем, можете да използвате един от следните методи:

  1. Промените XHR искане синхронно заявка.

    Забележка това решение е най-добрите практики за програмиране и може да доведе до уеб браузър, за да замрази ако няма отговор. За повече информация вижте Защо вие трябва да използва XMLHttpRequest асинхронно.

    За да избегнете загуба на връзка с Windows интернет (WinINet) заедно с AJAX, можете да се получи съществуващата връзка преди прозорец се затваря.

    Забележка: За повече информация как да заобиколите загуба на връзка щракнете върху следния номер на статия в базата знания на Microsoft:

    886710 Internet Explorer се появява да спре да отговаря, и може също да забележите изтичане на памет на компютъра

  2. Сменете window.open метода с window.showModalDialog метод.

    Забележка това решение не позволява взаимодействие с главния прозорец преди закриването на прозореца.

  3. Край на съществуващите асинхронни XHR заявки от OnUnLoad събитие. Например:

    function unloadEventHandler() { 
    if (g_xmlHttpRequest != null && g_xmlHttpRequest.readyState != 4)
    {
    g_xmlHttpRequest.abort();
    }
    }
  4. Не правете асинхронни XHR повиквания от OnUnLoad събитие.

    Забележка: Дори да провеждате разговори от събитието OnLoad все още може да възникне този проблем.

  5. Надграждане до Internet Explorer 10 и се уверете, че да използвате основните XHR изпълнението.

  6. Увеличаване на максималния брой връзки.

Допълнителна информация

За повече информация относно терминологията за актуализация на софтуера щракнете върху следния номер на статия, за да я видите в базата данни на Microsoft:

824684 описание на стандартната терминология, използвана за описание на софтуерните актуализации на Microsoft

Статус

Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".

Нуждаете се от още помощ?

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към Microsoft приобщени

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×