問題点
表示されない。
エラー文
【Chrome】
GET file:///省略/public/header.html net::ERR_FAILED
【Firefox】
クロスオリジン要求をブロックしました: 同一生成元ポリシーにより、
file:///省略/public/header.html にあるリモートリソースの読み込みは拒否されます (理由: CORS 要求が http でない)。
試したこと
1. mozillaで検索すると下記のように書いてあったのですが、https形式にする方法がわかりませんでした。
何が悪いのか
CORS リクエストは URL スキームが HTTPS の場合のみ利用できますが、リクエストで指定された URL が異なる種類のものです。これは、ローカルファイルを指定する URL が、 file:/// の URL を使用している場合によく起こります。
この問題を修正するには、単純に CORS に関するリクエストを発行する際に HTTPS の URL を使用するようにしてください。
2. jQueryの公式レファレンスの説明をみてもうまくいきませんでした。試しに下記のように記述してみましたが、これもできませんでした。
jQueryレファレンス/load()
html
1 2$( "#header" ).load( "ajax/header.html" );
3. 他、いくつかの記事を参照しましたが、一般的な操作では何故か動作できませんでした。
読み込まれる側のhtmlには余計なタブは記述していません。読み込みたいタブのみ記述しました。
解決方法のわかる方いらっしゃいましたら教えていただけると幸いです。よろしくお願いします。
以下コード
※省略済み
indexhtml
1<!DOCTYPE html> 2<html lang="ja"> 3 <head> 4 <title>Document</title> 5 <script 6 src="https://code.jquery.com/jquery-3.5.1.min.js" 7 integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" 8 crossorigin="anonymous" 9 ></script> 10 </head> 11 <body> 12 <div id="header"></div> 13 <div id="nav"></div> 14 <main> 15 <section></section> 16 <section></section> 17 </main> 18 <div id="footer"></div> 19 <script> 20 $(document).ready(function () { 21 $("#header").load("header.html"); 22 $("#nav").load("nav.html"); 23 $("#footer").load("footer.html"); 24 }); 25 </script> 26 </body> 27</html> 28
headerhtml
1<section> 2 省略(nav.html, footer.htmlも同様) 3</section>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。