ホームページ > ウェブフロントエンド > jsチュートリアル > ブラウザにローカル HTML ファイルをロードすると CORS エラーが発生するのはなぜですか?

ブラウザにローカル HTML ファイルをロードすると CORS エラーが発生するのはなぜですか?

Mary-Kate Olsen
リリース: 2024-12-13 17:44:12
オリジナル
731 人が閲覧しました

Why Do I Get a CORS Error When Loading Local HTML Files in My Browser?

HTML でのローカル リソースのロード: CORS エラー

ローカル HTML ファイルをロードするときに、「Origin null は by によって許可されていません」というエラーが発生する場合があります。アクセス制御-許可-オリジン。」これは、ほとんどのブラウザに実装されている同一オリジン ポリシー (SOP) によるものです。

SOP は、ユーザーのデータとプライバシーを保護するためにクロスオリジン アクセスを制限します。この場合、ローカル ファイル システムはブラウザとは別の「オリジン」とみなされ、そこからファイルを直接ロードすることは禁止されます。

エラーの原因

提供されたコードでは、「weather.xsl」ファイルを

にロードしようとしています。 jQueryのload()メソッドを使用します。ただし、「weather.xsl」はローカル ファイルであるため、SOP によりブラウザがアクセスできなくなります。

解決策

残念ながら、AJAX を使用したローカル リソースの直接読み込みSOP により、リクエストは許可されません。代わりに、次の解決策を検討してください:

  • ローカル Web サーバーをインストールします: Apache や Nginx などの Web サーバーをインストールし、ローカル サーバーで HTML ファイルをホストします。これにより、HTTP 経由でファイルにアクセスするための URL が提供されますが、SOP は適用されません。
  • Chrome 拡張機能を使用します: 「Allow CORS: Access-Control-」のような Chrome 拡張機能があります。 「Allow-Origin」を使用すると、ローカル ファイルの SOP を一時的に無効にすることができ、HTML 出力を
    .
  • データ URI を使用する: 「weather.xsl」からの HTML 出力をデータ URI に変換し、HTML ページに直接埋め込みます。これにより、別のオリジンからファイルを読み込むことがなくなります。

注:

これらの回避策はすべてのシナリオに適しているわけではないため、適切である必要があることを覚えておくことが重要です。テスト目的でのみ使用されます。運用環境の場合、ファイルを Web サーバーにデプロイすることをお勧めします。

以上がブラウザにローカル HTML ファイルをロードすると CORS エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート