iframe_javascript スキルが占有するメモリを動的に作成および解放する方法
最近プロジェクトの開発に参加しました。プロジェクトはブラウザベースのリッチ クライアント (RIA) アプリケーションであるため、ページ内で多数の iframe が呼び出されます。その後のテストでは、ブラウザのメモリが高いままであり、特に IE シリーズのブラウザでは、iframe ページが開かれるほどメモリの使用量が増加することが判明しました。開いている iframe ページをすべて閉じても、メモリ使用量が約 400M に達すると、IE ブラウザはあまりスタックしなくなります。分析の結果、iframe が解放されていないことが問題の原因であることが判明したため、閉じているすべての iframe が占有しているメモリを解放しました。完全には解放できませんでしたが、iframe のメモリ使用量は増加し続けませんでした。アプリケーション全体は約 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); }

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

インラインフレームはHTMLではiframeと呼ばれます。ラベルは、ブラウザがスクロール バーや枠線を使用してさまざまなドキュメントを表示できる、コンテンツ内の長方形の領域を指定します。現在の HTML ドキュメント内に別のドキュメントを埋め込むには、インライン フレームを使用します。要素への参照は、HTMLiframe name 属性を使用して指定できます。 JavaScript では、要素への参照も name 属性を使用して行われます。 iframe は基本的に、現在表示されている Web ページ内に Web ページを表示するために使用されます。 iframe を含むドキュメントの URL は、「src」属性を使用して指定されます。構文 以下は HTML <iframesrc="URL"title="d の構文です。

iframe の読み込みが遅い原因には、主にネットワーク遅延、リソース読み込み時間の長さ、読み込み順序、キャッシュ メカニズム、セキュリティ ポリシーが含まれます。詳細な紹介: 1. ネットワーク遅延: ブラウザーが iframe を含む Web ページを読み込むとき、iframe 内のコンテンツを取得するためにサーバーにリクエストを送信する必要があります。ネットワーク遅延が大きい場合、コンテンツの取得に時間がかかります。 ; 2. リソースの読み込み時間が長い場合、リソースのサイズが大きい場合、またはサーバーの応答時間が長い場合、読み込み速度はより明らかに遅くなります; 3. 読み込みシーケンス、等

iframe の data-id は、特定の要素の識別子を格納するために HTML タグで使用されるカスタム属性を指します。 data-id 属性を使用すると、iframe 要素に一意の識別子を追加して、JavaScript で操作およびアクセスできるようにすることができます。 data-id 属性の命名は、特定のニーズに応じてカスタマイズできますが、一意性と読みやすさを確保するために、通常はいくつかの命名規則に従います。 data-id 属性を使用して、特定の iframe を識別および操作することもできます。

ユーザーが Safari ブラウザを通じて電子メール サービスにアクセスすると、Microsoft Outlook は macOS 上に「TokenFactoryIframe」と呼ばれる謎のファイルをダウンロードします。この問題は現在、Outlook がアクセスするたびにダウンロードする「TokenFactoryIframe」ファイルを発見したユーザーによって広く報告されています。 Outlook は、数秒ごと、または少なくとも Apple プラットフォーム上の Outlook にアクセスするたびに、この謎のファイルをダウンロードします。私たちの調査結果によると、これは Outlook に投稿されたサーバー側の誤った更新によって引き起こされる問題のようであり、Safari や macOS とは関係がありません。 Microsoft のコピー

Go 言語は、クロージャとリフレクションという 2 つの動的関数作成テクノロジを提供します。クロージャを使用すると、クロージャ スコープ内の変数にアクセスでき、リフレクションでは FuncOf 関数を使用して新しい関数を作成できます。これらのテクノロジーは、HTTP ルーターのカスタマイズ、高度にカスタマイズ可能なシステムの実装、プラグイン可能なコンポーネントの構築に役立ちます。

iframe を置き換えることができるテクノロジには、Ajax、JavaScript ライブラリまたはフレームワーク、Web コンポーネント テクノロジ、フロントエンド ルーティング、サーバー側レンダリングなどがあります。詳細な紹介: 1. Ajax は、動的な Web ページを作成するために使用されるテクノロジです。ページ全体を更新することなく、バックグラウンドでサーバーとデータをやり取りすることでページの非同期更新を実現 Ajaxを使用することでより柔軟にコンテンツを読み込んで表示できるほか、他のページを埋め込むためにiframeを使用する必要もありません 2. JavaScriptライブラリまたは React などのフレームワーク。

iframe の読み込みイベントには、onload イベント、onreadystatechange イベント、onbeforeunload イベント、onerror イベント、onabort イベントなどが含まれます。詳細説明: 1. onload イベント、iframe のロード後に実行される JavaScript コードを指定、2. onreadystatechange イベント、iframe の状態が変化したときに実行される JavaScript コードを指定、など。

Python の iframe は、Web ページに別の Web ページまたはドキュメントを埋め込むために使用される HTML タグです。 Python では、さまざまなライブラリとフレームワークを使用して iframe を処理および操作できます。その中で最も一般的に使用されるのは BeautifulSoup ライブラリで、Web ページから iframe のコンテンツを簡単に抽出して操作および処理できます。 iframe の処理方法を知ることは、Web 開発とデータ スクレイピングの両方に非常に役立ちます。
