質問させてください。 javascript初学者です、複数存在するhtmlの共通ソースコード部分の外部ファイル化を、調べながら取り組んでいます。 「やりたい事」
質問させてください。 javascript初学者です、複数存在するhtmlの共通ソースコード部分の外部ファイル化を、調べながら取り組んでいます。 「やりたい事」 htmlの共通部分(グローバルナビゲーション部分)を、別ファイルにして読み込みの上、表示したいと考えています。 そこでネットで調べてみましたところ、 以下の方法①〜③の方法を見つけ、実践してみました。 ①javascriptの「document.write」でhtmlのソースコードを記入、作成する。 例) document.write("〈html〉") document.write("〈body〉") document.write("〈p〉hogehoge") document.write("〈/p〉") document.write("〈/body〉") document.write("〈/html〉") 「良い点」 →可読性が高く、html、javascriptに慣れていない者でも管理、メンテナンスしやすい 「問題点」 →html5では、document.writeは非推奨である ②javascriptの「.load」で他に作成したファイル(htmlの共通化したソースコードファイル)の読み込み(jqueryも含みます)をする 「良い点」 →可読性が高く、html、javascriptに慣れていない者でも管理、メンテナンスしやすい。 →本方法は、html5で推奨ではない。 「問題点」 →呼び出し元htmlの「共通化していない元々のファイルのソースコード部分」と「共通化(別ファイル)したhtmlファイル」の画面表示のタイミングがずれるため、共通化部分の読み込みが終わるまで共通化部分(グローバルナビゲーション)が表示されず、あたかも存在しないように見え、数秒後に、表示される。 →本javascriptファイルのリンクソースコード(href=○○)の記述部分をヘッダーレコード等に変えても改善しませんでした。 ③別に作成するjavascriptファイルで、dom操作によってhtmlファイルを呼び出し元のhtmlソースコードに追加する。 主に document.getelement○○ .attribute.○○ .appenachild○○ 「良い点」 →htmlの表示タイミングがずれない。 「問題点」 →jsファイル内で、function等によって極力ソースコードを短く、わかりやすくしようしているのですが、冗長、低可読性となり、メンテナンス性が低いものとなってしまいました。 長々と申し訳ございませんが、以上の3つの「良い点」「問題点」を踏まえ何か良い方法がございましたら、ご教示頂ければと思います。 なお、サーバー環境、人員環境からphpなどの利用は考えておりません。
JavaScript・34閲覧
ベストアンサー
kak********さん >・・・・共通ソースコード部分の外部ファイル化・・・・・・・・ insertAdjacentHTMLなどを使ったらいかがですか。 ご参考に↓ https://on-ze.com/archives/8120 https://janken.asotetu.work/document-write/#toc6
早速、 「insertAdjacentHTML」にて試行しましたところ、①〜③までの問題が解決しました。 ご教授いただき有難うございます。 申し訳ございませんが、追加で質問させてください。 上記のinsertAdjacentHTML(\u0022hogehoge1\u0022,\u0022hogehoge2\u0022)の (hogehoge2)に複数タグを挿入するため、一行にて記述しましたが、それだと一行が、横に長くなってしまいますので、(hogehoge2)を途中改行する方法はありますでしょうか?
質問者からのお礼コメント
とても助かりました。 ありがとうございます!
お礼日時:1/21 16:33