Chrome および IE での jQuery load() メソッドの誤動作
Firefox でのみ機能する jQuery load() メソッドに関するお問い合わせにより、懸念が生じました。 。コード構造を複製し、さまざまなブラウザーで動作を観察したところ、実際にその動作にバリエーションがあることがわかりました。
Index.html は、jQuery load() メソッドを開始して list1.html のコンテンツを取得し、 #stage div内に表示します。このプロセスは Firefox ではシームレスに機能しますが、Chrome と Internet Explorer では出力が生成されません。
この矛盾の背後にある根本的な原因は、Chrome と IE によって実装されているセキュリティ対策にあります。 Firefox とは異なり、これらのブラウザは、ローカル ファイル システムからロードされたファイルに対するクロスオリジン リクエストを制限します。 list1.html は (リモート サーバーではなく) ローカル ファイル パス上に存在するため、Chrome と IE のセキュリティ プロトコルにより、load() メソッドによるその取得が防止されます。
この問題を修正するには、以下を利用できます。 Chrome または Chromium の起動時の --allow-file-access-from-files フラグ。このフラグをアクティブにすると、セキュリティ制限が一時的に無効になり、ブラウザがこの方法でローカル ファイルをロードできるようになります。このアプローチにより、list1.html のコンテンツにアクセスし、それをアプリケーションで表示できるようになります。
このアクセス許可を付与すると、クロスオリジン リクエスト ポリシーが緩和されるため、セキュリティに影響することに注意してください。したがって、この手段はテストと開発の目的でのみ使用し、安全な運用環境のために適切な手段が講じられていることを確認してください。
以上が## ローカル ファイルをロードするときに、Chrome と IE で jQuery の .load() メソッドが機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。