Maison interface Web js tutoriel Comment créer et libérer dynamiquement la mémoire occupée par les compétences iframe_javascript

Comment créer et libérer dynamiquement la mémoire occupée par les compétences iframe_javascript

May 16, 2016 pm 04:37 PM
iframe Créé dynamiquement 释放内存

Récemment participé au développement d'un projet Étant donné que le projet est une application client riche (RIA) basée sur un navigateur, un grand nombre d'iframes sont appelées dans la page. Des tests ultérieurs ont révélé que la mémoire du navigateur est restée élevée et que plus les pages iframe sont ouvertes, plus l'utilisation de la mémoire est importante, en particulier dans les navigateurs de la série IE. Même si toutes les pages iframe ouvertes sont fermées, l'utilisation de la mémoire ne diminue pas de manière significative. Le navigateur IE devient très bloqué lorsque l'utilisation de la mémoire atteint environ 400 Mo. L'analyse a révélé que le problème était dû au fait que l'iframe n'était pas libérée, de sorte que la mémoire occupée par toutes les iframes fermées a été libérée. Bien qu'elle ne puisse pas être complètement libérée, l'utilisation de la mémoire de l'iframe ne continuerait pas à augmenter, ainsi que l'utilisation de la mémoire de. l'ensemble de l'application était contrôlé à environ 150M.

/** 
* 动态创建iframe 
* @param dom 创建iframe的容器,即在dom中创建iframe。dom可以是div、span或者其他标签。 
* @param src iframe中打开的网页路径 
* @param onload iframe加载完后触发该事件,可以为空 
* @return 返回创建的iframe对象 
*/ 
function createIframe(dom, src, onload){ 
//在document中创建iframe 
var iframe = document.createElement("iframe"); 

//设置iframe的样式 
iframe.style.width = '100%'; 
iframe.style.height = '100%'; 
iframe.style.margin = '0'; 
iframe.style.padding = '0'; 
iframe.style.overflow = 'hidden'; 
iframe.style.border = 'none'; 

//绑定iframe的onload事件 
if(onload && Object.prototype.toString.call(onload) === '[object Function]'){ 
if(iframe.attachEvent){ 
iframe.attachEvent('onload', onload); 
}else if(iframe.addEventListener){ 
iframe.addEventListener('load', onload); 
}else{ 
iframe.onload = onload; 
} 
} 

iframe.src = src; 
//把iframe加载到dom下面 
dom.appendChild(iframe); 
return iframe; 
} 

/** 
* 销毁iframe,释放iframe所占用的内存。 
* @param iframe 需要销毁的iframe对象 
*/ 
function destroyIframe(iframe){ 
//把iframe指向空白页面,这样可以释放大部分内存。 
iframe.src = 'about:blank'; 
try{ 
iframe.contentWindow.document.write(''); 
iframe.contentWindow.document.clear(); 
}catch(e){} 
//把iframe从页面移除 
iframe.parentNode.removeChild(iframe); 
}
Copier après la connexion

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment recadrer un IFrame en HTML ? Comment recadrer un IFrame en HTML ? Aug 29, 2023 pm 04:33 PM

Les frames en ligne sont appelés iframes en HTML. Une étiquette spécifie une zone rectangulaire dans le contenu où le navigateur peut afficher différents documents avec des barres de défilement et des bordures. Pour intégrer un autre document dans le document HTML actuel, utilisez des cadres en ligne. Une référence à un élément peut être spécifiée à l'aide de l'attribut de nom HTMLiframe. En JavaScript, les références aux éléments sont également faites à l'aide de l'attribut name. Une iframe est essentiellement utilisée pour afficher une page Web dans la page Web actuellement affichée. L'URL du document contenant l'iframe est spécifiée à l'aide de l'attribut "src". Syntaxe Voici la syntaxe du HTML <iframesrc="URL"title="d

Pourquoi l'iframe se charge-t-elle lentement ? Pourquoi l'iframe se charge-t-elle lentement ? Aug 24, 2023 pm 05:51 PM

Les raisons du chargement lent des iframes incluent principalement le retard du réseau, le long temps de chargement des ressources, l'ordre de chargement, le mécanisme de mise en cache et la politique de sécurité. Introduction détaillée : 1. Délai du réseau Lorsque le navigateur charge une page Web contenant une iframe, il doit envoyer une requête au serveur pour obtenir le contenu de l'iframe. Si le délai du réseau est élevé, le délai d'obtention du contenu sera élevé. augmenter, entraînant un chargement lent de l'iframe. ; 2. Lorsque le temps de chargement de la ressource est long, la taille de la ressource est grande ou le temps de réponse du serveur est long, la vitesse de chargement sera évidemment plus lente 3. Séquence de chargement, etc.

Que signifie l'identifiant de données dans iframe ? Que signifie l'identifiant de données dans iframe ? Aug 28, 2023 pm 02:25 PM

Le data-id dans une iframe fait référence à un attribut personnalisé utilisé dans les balises HTML pour stocker l'identifiant d'un élément spécifique. En utilisant l'attribut data-id, vous pouvez ajouter un identifiant unique à l'élément iframe afin qu'il puisse être manipulé et accessible en JavaScript. La dénomination de l'attribut data-id peut être personnalisée en fonction de besoins spécifiques, mais certaines conventions de dénomination sont généralement suivies pour garantir son unicité et sa lisibilité. L'attribut data-id peut également être utilisé pour identifier et manipuler une iframe spécifique.

Microsoft : une erreur Outlook télécharge le fichier 'TokenFactoryIframe' à chaque visite Microsoft : une erreur Outlook télécharge le fichier 'TokenFactoryIframe' à chaque visite Apr 19, 2023 am 08:25 AM

Microsoft Outlook télécharge un fichier mystérieux appelé « TokenFactoryIframe » sur macOS lorsque les utilisateurs accèdent au service de messagerie via Safari. Ce problème a désormais été largement signalé par les utilisateurs qui ont découvert les fichiers « TokenFactoryIframe » qu'Outlook télécharge à chaque visite. Outlook télécharge ce mystérieux fichier toutes les quelques secondes ou au moins chaque fois que vous accédez à Outlook sur les plateformes Apple. D'après nos conclusions, cela semble être un problème causé par une mise à jour incorrecte côté serveur publiée sur Outlook et n'a rien à voir avec Safari ou macOS. Microsoft dans une copie

Quelle technologie peut remplacer l'iframe Quelle technologie peut remplacer l'iframe Aug 24, 2023 pm 01:53 PM

Les technologies qui peuvent remplacer les iframes incluent Ajax, les bibliothèques ou frameworks JavaScript, les technologies de composants Web, le routage frontal et le rendu côté serveur. Introduction détaillée : 1. Ajax est une technologie utilisée pour créer des pages Web dynamiques. Il peut réaliser des mises à jour asynchrones de la page en échangeant des données avec le serveur en arrière-plan sans actualiser la page entière. L'utilisation d'Ajax peut charger et afficher le contenu de manière plus flexible, et il n'est pas nécessaire d'utiliser iframe pour intégrer d'autres pages ; ou un framework , comme React et ainsi de suite.

Quels sont les événements de chargement d'iframe ? Quels sont les événements de chargement d'iframe ? Aug 28, 2023 pm 01:55 PM

Les événements de chargement de l'iframe incluent l'événement onload, l'événement onreadystatechange, l'événement onbeforeunload, l'événement onerror, l'événement onabort, etc. Description détaillée : 1. événement onload, spécifiant le code JavaScript à exécuter après le chargement de l'iframe ; 2. événement onreadystatechange, spécifiant le code JavaScript à exécuter lorsque l'état de l'iframe change, etc.

Conseils pour créer dynamiquement de nouvelles fonctions dans les fonctions Golang Conseils pour créer dynamiquement de nouvelles fonctions dans les fonctions Golang Apr 25, 2024 pm 02:39 PM

Le langage Go propose deux technologies de création de fonctions dynamiques : la fermeture et la réflexion. les fermetures permettent d'accéder aux variables dans la portée de la fermeture, et la réflexion peut créer de nouvelles fonctions à l'aide de la fonction FuncOf. Ces technologies sont utiles pour personnaliser les routeurs HTTP, mettre en œuvre des systèmes hautement personnalisables et créer des composants enfichables.

Que signifie iframe en Python ? Que signifie iframe en Python ? Aug 25, 2023 pm 03:24 PM

iframe en Python est une balise HTML utilisée pour intégrer une autre page Web ou un autre document dans une page Web. En Python, vous pouvez utiliser diverses bibliothèques et frameworks pour traiter et manipuler les iframes, dont la plus couramment utilisée est la bibliothèque BeautifulSoup, qui peut facilement extraire le contenu d'une iframe d'une page Web et le manipuler et le traiter. Savoir comment gérer et manipuler les iframes est extrêmement utile à la fois pour le développement Web et pour le scraping de données.

See all articles