Występuje przeciek pamięci po otwarciu strony sieci Web, która zawiera odwołanie cykliczne w elemencie iframe

Objawy

Rozważ następujący scenariusz:
  • Wyświetlanie strony sieci Web, która używa metody window.open do otwarcia drugiej strony sieci Web w nowym oknie.
  • Nowo otwarte okno zawiera element IFRAME, który ładuje stronę o odwołania cykliczne.
W tym scenariuszu występuje przeciek pamięci zawsze możesz otworzyć okno.

Ten przeciek może również wystąpić, jeśli element iframe ładuje stronę zawierającą formant Telerik radgrid dla aplikacji ASP.NET. W tym scenariuszu można zauważyć, że wzrost Bajty prywatne przez 3 MB dla każdej operacji window.open . Po niektóre otwieranie i zamykanie operacji znacznie zmniejsza wydajność systemu.

Aby monitorować wydajność systemu, należy użyć Monitora wydajności (Perfmon.exe). W Monitorze wydajności sprawdzanie Bajty prywatne dla programu Internet Explorer.

Uwaga Jeśli przeglądasz stronę bezpośrednio obsługiwane w elemencie iframe, a następnie ten problem nie występuje.

Informacje o aktualizacji zabezpieczeń

Aby rozwiązać ten problem, należy zainstalować najnowszej aktualizacji zabezpieczeń dla programu Internet Explorer. Aby zainstalować najnowsze aktualizacje, odwiedź następujące witryny firmy Microsoft:
Aby uzyskać więcej informacji technicznych dotyczących najnowszej zbiorczej aktualizacji zabezpieczeń dla programu Internet Explorer odwiedź następujące witryny firmy Microsoft:
Uwaga Ta aktualizacja została uwzględniona w aktualizacji zabezpieczeń 2416400 (MS10-090).
Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2416400 MS10-090: Zbiorcza aktualizacja zabezpieczeń dla programu Internet Explorer

Informacje dotyczące rejestru

Ważne Niniejsza sekcja, metoda lub zadanie zawiera informacje dotyczące modyfikowania rejestru. Jednak niepoprawne zmodyfikowanie rejestru może spowodować poważne problemy. W związku z tym upewnij się, że wykonujesz następujące kroki ostrożnie. Aby zapewnić sobie dodatkową ochronę, wykonaj kopię zapasową rejestru przed przystąpieniem do modyfikacji. Wtedy będziesz mógł przywrócić rejestr w przypadku wystąpienia problemu. Aby uzyskać więcej informacji na temat wykonywania kopii zapasowej i przywracania rejestru, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
322756 jak wykonać kopię zapasową i przywrócić rejestr w systemie Windows
Po zainstalowaniu aktualizacji dla programu Internet Explorer 6 i 7 na komputerze, należy dodać wartość rejestru, aby włączyć tę poprawkę. Aby to zrobić, wykonaj następujące kroki:
  1. Kliknij przycisk Start, kliknij polecenie Uruchom, wpisz regedit, a następnie naciśnij klawisz ENTER.
  2. Zlokalizuj i kliknij jeden z następujących podkluczy rejestru:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl
  3. W menu Edycja wskaż polecenie Nowy, a następnie kliknij Klucz.
  4. Wpisz FEATURE_ADDITIONAL_MEMORY_CLEANUP_KB975736, a następnie naciśnij klawisz ENTER.
  5. Kliknij prawym przyciskiem myszy FEATURE_ADDITIONAL_MEMORY_CLEANUP_KB975736, wskaż polecenie Nowy, a następnie kliknij polecenie Wartość DWORD.
  6. Wpisz Iexplore.exe, a następnie naciśnij klawisz ENTER.
  7. Kliknij prawym przyciskiem myszy Iexplore.exe, a następnie kliknij polecenie Modyfikuj.
  8. W polu Dane wartości wpisz wartość 1, a następnie kliknij przycisk OK.
  9. Zamknij Edytor rejestru.
Uwaga Aplikacje obsługujące formant WebBrowser () lub MSHTML zrezygnować w poprawkę, dodając wpis rejestru powyżej. Zamień wartość DWORD z "iexplore.exe" na nazwę aplikacji (< nazwa_aplikacji > .exe).

Problem nie występuje w programie Internet Explorer 8 lub Internet Explorer 9, jednak w jednej z wersji programu Internet Explorer zainstalowana, czy możesz używać aplikacji obsługujących WebBrowser control(WebOC) lub MSHTML przejdź do strony, następnie problem nadal występuje. Takie aplikacje mogą włączyć poprawkę przez dodanie wpisu rejestru. Aby to zrobić, wykonaj następujące kroki:
  1. Kliknij przycisk Start, kliknij polecenie Uruchom, wpisz regedit, a następnie naciśnij klawisz ENTER.
  2. Zlokalizuj i kliknij jeden z następujących podkluczy rejestru: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl
  3. W menu Edycja wskaż polecenie Nowy, a następnie kliknij Klucz.
  4. Wpisz FEATURE_ADDITIONAL_IE8_MEMORY_CLEANUP, a następnie naciśnij klawisz ENTER.
  5. Kliknij prawym przyciskiem myszy FEATURE_ADDITIONAL_IE8_MEMORY_CLEANUP, wskaż polecenie Nowy, a następnie kliknij polecenie Wartość DWORD.
  6. Wpisz < nazwa_aplikacji >.exe, a następnie naciśnij klawisz ENTER.
  7. Kliknij prawym przyciskiem myszy < nazwa_aplikacji >.exe, a następnie kliknij polecenie Modyfikuj.
  8. W polu Dane wartości wpisz wartość 1, a następnie kliknij przycisk OK.
  9. Zamknij Edytor rejestru.

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.

Więcej informacji

Aby uzyskać więcej informacji na temat metody window.open odwiedź następujące witryny firmy Microsoft:Aby uzyskać więcej informacji na temat elementu IFRAME odwiedź następujące witryny firmy Microsoft:Aby uzyskać więcej informacji na temat odwołań cyklicznych odwiedź następujące witryny firmy Microsoft
Produkty innych firm omówione w tym artykule są wytwarzane przez producentów niezależnych od firmy Microsoft. Firma Microsoft nie udziela żadnych gwarancji, domniemanych ani żadnego innego rodzaju, odnośnie do wydajności lub niezawodności tych produktów.
Właściwości

Identyfikator artykułu: 975736 — ostatni przegląd: 17.02.2017 — zmiana: 1

Windows Internet Explorer 7, Windows Internet Explorer 8, Windows Internet Explorer 9, Microsoft Internet Explorer 6.0

Opinia