Webサイトがブラウザをクラッシュさせる原因まとめ(各種ブラウザ) 推奨_JavaScriptスキル
訪問者にとって、Web サイトにログインするとブラウザがすぐにクラッシュすることは誰にとっても耐え難いことだと思います。Web サイトがブラウザをクラッシュさせる理由の概要は次のとおりです。
1。メモリ リーク
。まずメモリ リークについて説明しましょう。メモリ リークが原因で Web サイトがクラッシュする場合は、サーバーのクラッシュとブラウザのクラッシュの 2 つの状況があります。メモリ リークによって引き起こされる問題は明白で、割り当てられたメモリへの参照が失われ、システムが動作している限りプロセスはメモリを使用し続けます。その結果、プログラムがより多くのメモリを占有すると、マシンが完全に動作を停止してメモリが完全にクリアされるまで、システムのパフォーマンスが低下します。
Apache の Web サーバーは C/C で書かれています。言うまでもなく、C/C には回復不能なメモリがあり、メモリ不足やシステムクラッシュが発生することがあります。 Java では、メモリ リークは、アクセス可能だが役に立たないオブジェクトが割り当てられていることを意味します。これらのオブジェクトは GC によってリサイクルされませんが、メモリを占有します。
クライアント側では、JavaScript によって引き起こされるメモリ リークによってブラウザがクラッシュする可能性もあります。 JavaScript のメモリ リークに関するより権威のある記事には、「JavaScript のメモリ リーク パターン」および「Internet Explorer のリーク パターンの理解と解決」などがあります。 》。
JavaScript はガベージ コレクター (GC) 言語です。つまり、メモリはオブジェクトの作成に基づいてオブジェクトに割り当てられ、オブジェクトへの参照がない場合にはブラウザによって再利用されます。記事「Fabulous Adventures Incoding」によると、「JScript は非世代のマーク アンド スイープ ガベージ コレクターを使用します。」、「非世代のマーク アンド スイープ」は使用できます。このように、ブラウザーは JavaScript を処理するために純粋なガベージ コレクションを使用しませんが、ネイティブ オブジェクト (Dom、ActiveX オブジェクトなど) のメモリを処理するために参照カウントも使用します。
参照カウント システムでは、参照される各オブジェクトは、そのオブジェクトを参照しているオブジェクトの数を知るためにカウントを保持します。カウントがゼロに達すると、オブジェクトは破棄され、オブジェクトが占有していたメモリはヒープに返されます。 オブジェクトが相互に参照する場合、循環参照が形成されます。ブラウザ (IE6、Firefox2.0) は純粋な JavaScript オブジェクト間の循環参照を正しく処理できますが、参照カウント システムにより、オブジェクトの相互参照を行うことができません。参照カウントをゼロにすることはできないため、ブラウザは JavaScript とネイティブ オブジェクト (Dom、ActiveX オブジェクトなど) 間の循環参照を処理できないため、破棄されます。したがって、Native オブジェクトと JavaScript オブジェクトの間で循環参照がある場合、メモリ リークが発生します。
簡単に言うと、ブラウザは参照カウントを使用してネイティブ オブジェクトのメモリを処理し、ネイティブ オブジェクトに関係する循環参照はメモリ リークの原因となるため、参照カウントされたオブジェクトを破棄することはできません。次の例を使用してこの文を理解すると、JavaScript によって引き起こされるメモリ リークを基本的に理解できます。
var
window.onload; = function( ){
// DOM オブジェクトへの JavaScript オブジェクト obj の参照は、id に従って取得されます。
obj=document.getElementById("DivElement"); // DOM オブジェクトはこの JavaScript オブジェクトへの参照は、expandoProperty 実装
document.getElementById("DivElement").expandoProperty=obj;
; JavaScript オブジェクトと DOM オブジェクトの間に参照が生成されます。 DOM オブジェクトは参照カウントによって管理されるため、どちらのオブジェクトも破棄されません。
クロージャに遭遇してイベント応答コードをネイティブ オブジェクトにバインドすると、クロージャ メモリ リークが簡単に発生します。主な理由は前者と同じで、これも JavaScript オブジェクトとネイティブ オブジェクト間の循環参照です。コードがより隠されているというだけです。
window.onload = function AttachEvents(element){
//要素には関数 ClickEventHandler() への参照があります
element.attachEvent( " onclick " , ClickEventHandler
function ClickEventHandler); ( ){
//この関数には、Scope を呼び出すための AttachEvents(element) を指す参照があります。
//つまり、パラメータ要素が実行されます。
}
}
JavaScript がメモリ リークを引き起こし、ブラウザの負荷を増加させ、ブラウザのクラッシュを引き起こす可能性がある理由を簡単に理解します。私たちがしなければならないことは、この状況を回避することです。上記の「JavaScript のメモリ リーク パターン」および「Internet Explorer の理解と解決」を参照してください。リークパターン 》理解するための 2 つの記事。 JavaScript のメモリ リークに対処する最終目標は、JavaScript オブジェクトとネイティブ オブジェクト間の循環参照を解除するか、参照カウントをクリアしてオブジェクトを解放することです。
クロージャのメモリ リークなど、一部のメモリ リークは検出が難しい場合があります。メモリ リークを検出するには、「JavaScript メモリ リーク ツールの使用」を参照してください。
2。複雑な Web ページのコードとブラウザのバグ
。多数の個人 Web サイトと低品質の Web サイトコードの出現により、ブラウザーで何らかのバグが発生すると、ブラウザーのレンダリング エンジンで処理中にエラーが発生します。ループまたは直接クラッシュなどの Web ページ コード。
HTML コードにより Web サイトがクラッシュする
これは、IE6 のクラッシュを引き起こす HTML 構造エラーです。
"http://www.w3.org/TR/html4/loose.dtd">
head>
:fixed; "> |
website
では、どのバージョンの XHTML や HTML を使用しても、DOCTYPE 宣言が含まれていれば、IE6 はすぐにクラッシュします。DOCTYPE 宣言がない場合、エラーは発生しません。文書型宣言に関連します。
IE6 をクラッシュさせる CSS コード コードはウェブサイトCats who Code
から参照しています。このバグは 2007 年に発見され、日本人によって発見されたと言われています:
コードをコピー
コードは次のとおりです:
コードは次のとおりです:
コードをコピー
コードは次のとおりです:
IE7 をクラッシュさせる CSS コード
このバグは Stealing Rice に由来しており、省略された単語を処理するときに IE7 がクラッシュする原因と推定されています。
- クラッシュ クラッシュ クラッシュ クラッシュ
- crash ie7
をトリガーするには、zoom:1 を追加します。
IE6 をクラッシュさせる JavaScript コード
Internet Explorer Sucks より、この Web サイトはコードを使用しています。IE6 を使用してアクセスすると、ブラウザーがすぐにクラッシュします。コードは次のとおりです:

ホット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)

ホットトピック











C 言語を学習するための Web サイト: 1. C Language Chinese Website; 2. Rookie Tutorial; 3. C Language Forum; 4. C Language Empire; 5. Script House; 6. Tianji.com; 7. Red and Black Alliance; 8, 51 自習ネットワーク; 9. リコウ; 10. C プログラミング。詳細な紹介: 1. C 言語中国語 Web サイトは、初心者向けの C 言語学習教材を提供することに特化した Web サイトであり、基本的な文法、ポインタ、配列、関数、構造体およびその他のモジュールを含む豊富なコンテンツが含まれています; 2. ルーキー チュートリアル、プログラミング学習などの総合サイトです。

毎日ほぼ同じ時間に同じ Web サイトに頻繁にアクセスしますか?これにより、日常のタスクを実行する際に、複数のブラウザー タブを開いたまま長時間を費やし、ブラウザーが乱雑になる可能性があります。では、ブラウザを手動で起動せずに開いてみてはどうでしょうか?以下に示すように、これは非常にシンプルで、サードパーティのアプリをダウンロードする必要はありません。 Web サイトを開くためにタスク スケジューラを設定するにはどうすればよいですか?キーを押し、検索ボックスに「タスク スケジューラ」と入力し、[開く] をクリックします。 Windows 右側のサイドバーで、「基本タスクの作成」オプションをクリックします。 「名前」フィールドに、開きたい Web サイトの名前を入力し、「次へ」をクリックします。次に、「トリガー」で「時間頻度」をクリックし、「次へ」をクリックします。イベントを繰り返す時間を選択し、「次へ」をクリックします。有効を選択します

macOS Sonoma および Safari 17 では、Web サイトを「Web アプリ」に変換できます。Web アプリは Mac のドックに常駐し、ブラウザーを開かずに他のアプリと同様にアクセスできます。それがどのように機能するかを学び続けてください。 Apple の Safari ブラウザの新しいオプションのおかげで、頻繁にアクセスするインターネット上の Web サイトを、Mac のドックに常駐していつでもアクセスできるスタンドアロンの「Web アプリ」に変えることができるようになりました。この Web アプリは、他のアプリと同様に Mission Control および Stage Manager で動作し、Launchpad または SpotlightSearch 経由で開くこともできます。あらゆるウェブサイトを次のようなものに変える方法

場合によっては、保護者による制限、時間管理、コンテンツ フィルタリング、さらにはセキュリティ上の懸念など、さまざまな理由から Microsoft Edge で特定の Web サイトをブロックしたいことがあります。共通の動機は、生産性を高め、集中力を維持することです。気を散らす Web サイトをブロックすることで、仕事や勉強に適した環境を作り出し、気を散らす可能性を最小限に抑えることができます。最後に、コンテンツ フィルタリングは、安全で敬意を持ったオンライン環境を維持するために重要です。露骨なコンテンツ、不快なコンテンツ、不快なコンテンツを含む Web サイトをブロックすることは、適切な基準と価値観を維持することが重要な教育現場や職業現場では特に重要です。この状況に共感できる方は、この記事を読んでください。 Edge でインターネットへのアクセスをブロックする方法は次のとおりです

デフォルトでは、ほとんどの iPhone ユーザーは iPhone の Safari ブラウザを使用します。彼らは Safari ブラウザでさまざまな種類の Web サイトを閲覧し、アクセスします。一部の iPhone ユーザーは、iPhone で Safari を起動した後、頻繁にアクセスする Web サイトがスプラッシュ スクリーンに表示されるのにうんざりしていると報告しています。スプラッシュ スクリーンの外観を変更するには、スプラッシュ スクリーンを編集する必要があります。頻繁にアクセスする Web サイトを Safari から削除したい場合に、簡単に削除する方法をいくつかの簡単な手順で説明します。 iPhone の Safari から頻繁にアクセスする Web サイトを削除する方法 ステップ 1: まず、iPhone で Safari ブラウザを起動する必要があります。 2番目

Python Web サイトのアクセス速度の問題を解決するには、インデックス作成やキャッシュなどのデータベース最適化手法を使用します。Python Web サイトの開発および保守の過程で、Web サイトのアクセス速度が遅いという問題がよく発生します。 Web サイトの応答速度を向上させるために、インデックス作成やキャッシュなどのデータベース最適化方法を使用できます。この記事では、Python Web サイトのアクセス速度の問題を解決するためにこれらの方法を使用する方法を紹介し、参考として対応するコード例を示します。 1. インデックスを使用してデータベース クエリを最適化する インデックスはデータベース内のデータを高速に検索するための構造であり、

PHP Web サイト: 1. 世界最大のソーシャル メディア プラットフォームの 1 つである Facebook、2. さまざまな種類の Web サイトを迅速に作成および管理するためのオープンソース コンテンツ管理システムである WordPress、3. 強力な電子商取引プラットフォームである Magento を使用オンライン ストアの作成と管理、4. Joomla、さまざまな種類の Web サイトの構築に使用される人気のオープン ソース コンテンツ管理システム、5. Wikipedia、さまざまなトピックに関する知識と情報を提供する無料のオンライン百科事典、6. Digg、ソーシャル ニュース サイトもっと。

Web サイト上のデッドリンクを確認する方法には、オンライン リンク ツールの使用、Web マスター ツールの使用、robots.txt ファイルの使用、ブラウザー開発者ツールの使用などがあります。詳細な紹介: 1. オンライン リンク ツールを使用します。LinkDeath、LinkDefender、Xenu などのオンライン デッド リンク検出ツールが多数あります。これらのツールは、Web サイト内のデッド リンクを自動的に検出できます。2. ウェブマスター ツールを使用します。ほとんどのウェブマスター ツール。 GoogleのウェブマスターツールやBaiduのウェブマスターツールなどはデッドリンク検出機能などを提供しています。
