Une fuite de mémoire se produit lorsque vous ouvrez une page Web qui contient une référence circulaire dans un iframe

S’applique à : Internet Explorer 9

Symptômes


Considérez le scénario suivant :
  • Vous affichez une page Web qui utilise la méthode window.open pour ouvrir une deuxième page Web dans une nouvelle fenêtre.
  • La nouvelle fenêtre ouverte contient un élément IFRAME qui charge une page comportant des références circulaires.
Dans ce scénario, une fuite de mémoire se produit chaque fois que vous ouvrez la fenêtre.

Cette fuite peut également se produire si l’iframe charge une page contenant un contrôle Telerik RadGrid pour ASP.NET. Dans ce scénario, vous remarquez que l’augmentation des Octets privés de 3 Mo pour chaque opération window.open . Après que certaines ouvrir et fermer les opérations, les performances du système diminuent considérablement.

Pour surveiller les performances du système, utilisez l’Analyseur de performances (Perfmon.exe). Dans l’Analyseur de performances, vérifier les Octets privés pour Internet Explorer.

Remarque Si vous accédez à la page hébergée directement dans l’iframe, le problème ne se produit pas.

Informations sur la mise à jour de sécurité

Pour résoudre ce problème, installez la mise à jour de sécurité cumulative la plus récente pour Internet Explorer. Pour installer les mises à jour plus récentes, visitez le site Web Microsoft suivant :
Pour obtenir des informations techniques supplémentaires sur la mise à jour de sécurité cumulative la plus récente pour Internet Explorer, visitez le site Web Microsoft suivant :
Remarque Cette mise à jour a été pour la première fois dans la mise à jour de sécurité 2416400 (MS10-090).
Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
2416400 MS10-090 : Mise à jour de sécurité Cumulative pour Internet Explorer

Informations concernant le Registre

Important Cette section, méthode ou tâche contient des étapes vous indiquant comment modifier le Registre. Toutefois, des problèmes graves peuvent survenir si vous modifiez le Registre de façon incorrecte. Par conséquent, veillez à suivre ces étapes scrupuleusement. Pour une meilleure protection, sauvegardez le Registre avant de le modifier. Vous pourriez alors restaurer le Registre si un problème survient. Pour plus d’informations sur la façon de sauvegarder et de restaurer le Registre, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
322756 comment sauvegarder et restaurer le Registre dans Windows
Après avoir installé la mise à jour pour Internet Explorer 6 et 7 sur l’ordinateur, vous devez ajouter une valeur de Registre pour activer le correctif. Pour ce faire, procédez comme suit :
  1. Cliquez sur Démarrer, sur exécuter, tapez regedit, puis appuyez sur ENTRÉE.
  2. Recherchez, puis cliquez sur l’une des sous-clés de Registre suivantes :
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl
  3. Dans le menu Edition, pointez sur Nouveau, puis cliquez sur clé.
  4. Tapez FEATURE_ADDITIONAL_MEMORY_CLEANUP_KB975736et appuyez sur ENTRÉE.
  5. Droit FEATURE_ADDITIONAL_MEMORY_CLEANUP_KB975736, pointez sur Nouveau, puis cliquez sur Valeur DWORD.
  6. Tapez Iexplore.exeet appuyez sur ENTRÉE.
  7. Droit d’Iexplore.exe, puis cliquez sur Modifier.
  8. Dans la zone Données de la valeur, tapez 1, puis cliquez sur OK.
  9. Quittez l'Éditeur du Registre.
Remarque Les applications qui hébergent le contrôle WebBrowser (WebOC) ou du MSHTML peuvent choisir dans le correctif en ajoutant l’entrée de Registre ci-dessus. Remplacez la valeur DWORD « iexplore.exe » par le nom de l’application (.exe < nom_app >).

Le problème ne se produit pas dans Internet Explorer 8 ou Internet Explorer 9, toutefois, avec les versions d’Internet Explorer installé, si vous utilisez les applications hébergeant MSHTML les WebBrowser control(WebOC) Parcourir à la page, puis le problème se reproduit. De telles applications peuvent choisir d’en ajoutant une entrée de Registre dans le correctif. Pour ce faire, procédez comme suit :
  1. Cliquez sur Démarrer, sur exécuter, tapez regedit, puis appuyez sur ENTRÉE.
  2. Recherchez et cliquez sur l’une des sous-clés de Registre suivantes : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl

    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl
  3. Dans le menu Edition, pointez sur Nouveau, puis cliquez sur clé.
  4. Tapez FEATURE_ADDITIONAL_IE8_MEMORY_CLEANUPet appuyez sur ENTRÉE.
  5. Droit FEATURE_ADDITIONAL_IE8_MEMORY_CLEANUP, pointez sur Nouveau, puis cliquez sur Valeur DWORD.
  6. Tapez < nom_application >.exeet appuyez sur ENTRÉE.
  7. Droit de < nom_application >.exe, puis cliquez sur Modifier.
  8. Dans la zone Données de la valeur, tapez 1, puis cliquez sur OK.
  9. Quittez l'Éditeur du Registre.

État


Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations


Pour plus d’informations sur la méthode window.open , visitez le site Web Microsoft suivant :Pour plus d’informations sur l’élément IFRAME, visitez le site Web Microsoft suivant :Pour plus d’informations sur les références circulaires, visitez le site Web de Microsoft suivant
Les produits tiers dont traite cet article sont fabriqués par des sociétés indépendantes de Microsoft. Microsoft exclut toute forme de garantie, expresse ou implicite, concernant les performances ou la fiabilité de ces produits.