ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery のload() メソッドが Firefox でのみ機能し、Chrome や Internet Explorer では機能しないのはなぜですか?

jQuery のload() メソッドが Firefox でのみ機能し、Chrome や Internet Explorer では機能しないのはなぜですか?

DDD
DDDオリジナル
2024-10-28 22:01:02376ブラウズ

Why is jQuery's load() method only working in Firefox, but not in Chrome or Internet Explorer?

jQuery のload() メソッドが Firefox でのみ機能するのはなぜですか?

jQuery と AJAX を詳しく調べようとして、ユーザーが遭遇した問題不可解な問題。公式 jQuery API Web サイトのガイドに従っているにもかかわらず、そのコードは Chrome と Internet Explorer で期待どおりの結果を生成できません。興味深いことに、このコードは Firefox で開くと正常に実行されます。

このコードでは、load() メソッドを使用して外部 HTML ファイル (list1.html) を取得し、その内容を指定された DIV 要素 (「ステージ」) にロードします。 )。関連する HTML および JavaScript コード:

<code class="html"><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
$( "#stage" ).load( "list1.html" );
</script></code>

コードは Firefox では期待どおりにレンダリングされ、項目の箇条書きリストが表示されますが、Chrome または Internet Explorer では何も表示されません。この不一致の原因は、Chrome や IE などの最新のブラウザによって課されたアクセス制限です。

ブラウザのセキュリティ制限

セキュリティを強化するために、最新のブラウザでは Web ページが開かれないようにしています。ローカル ファイルから (例: file:// プロトコル経由)、他のオリジンからのコンテンツへのアクセス (例: 外部ファイルへのアクセス)。この制限は、別の場所からファイルを取得しようとするload() メソッドに適用されます。

解決策

アクセス制限を克服するには、Chrome または Chromium を起動してください。 --allow-file-access-from-files フラグを使用します。このフラグは、Web ページのコンテキスト内からローカル ファイルにアクセスする許可をブラウザーに付与します。このフラグを有効にするには:

  1. コマンド プロンプトまたはターミナルを開きます。
  2. Chrome または Chromium のインストール ディレクトリに移動します。
  3. 次のコマンドを実行します。
chrome.exe --allow-file-access-from-files

または、次のターゲット パスを使用してデスクトップ ショートカットを作成することで、このフラグを永続的に設定することもできます:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --allow-file-access-from-files

以上がjQuery のload() メソッドが Firefox でのみ機能し、Chrome や Internet Explorer では機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。