実現したいこと
xserverを用いてホームページの運用を行っています。
保守性の向上のため、ヘッダー等の共通化を行っています。
前提
ローカルのファイル階層は下記の通りです。
jsについては初学のため、必要に応じて学んでいるレベルです。
ヘッダーのアクションをjsで書きました。
header.js
1window.addEventListener('DOMContentLoaded', async()=>{ 2 const header=document.querySelector('header'); 3 const html=await fetch('header.html').then(res=>res.text()); 4 header.insertAdjacentHTML('afterbegin',html); 5 6 $(".openbtn").click(function () {//ボタンがクリックされたら 7 $(this).toggleClass('active');//ボタン自身に activeクラスを付与し 8 $("#g-nav").toggleClass('panelactive');//ナビゲーションにpanelactiveクラスを付与 9 }); 10 11 $("#g-nav a").click(function () {//ナビゲーションのリンクがクリックされたら 12 $(".openbtn").removeClass('active');//ボタンの activeクラスを除去し 13 $("#g-nav").removeClass('panelactive');//ナビゲーションのpanelactiveクラスも除去 14 }); 15 16});
fetch('header.html')という箇所を修正し、下位上位の階層問わずにheader.jsを実行したいです。(説明が下手で申し訳ございません。)index.htmlでheader.jsを呼び出すと正常に処理されますが( fetch('../header.html'') のような気がしますが、上記でも大丈夫でした。)、diary.htmlでheader.jsファイルを呼び出すと、header.htmlとdiary.htmlは階層が異なるため、正常に呼び出すことができません。
試したこと
xserverのpublic_htmlフォルダ内に上記のファイルをupしているので、
js
1fetch('https://example.com/header.html')
として、header.htmlファイルのurlから読み込もうとしましたが、読み込めませんでした。画像は
html
1src='https://example.com/image/sample.png'
で呼び出すことができました。
補足情報(FW/ツールのバージョンなど)
xserverにファイルをアップロードしてホームページを運営しています。

回答3件
あなたの回答
tips
プレビュー