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 ページのコンテキスト内からローカル ファイルにアクセスする許可をブラウザーに付与します。このフラグを有効にするには:
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 サイトの他の関連記事を参照してください。