質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

2回答

2350閲覧

jQueryをローカル環境で動かしたとき、インクルードだけ上手く表示されない

kens_Freelance

総合スコア10

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2021/11/16 08:31

編集2021/11/16 08:57

お世話になっております。

現在、HTML、CSSを使ってサイト制作をしております。

①XAMMPでサイトを表示させたときと、
②htmlファイルを右クリックでブラウザに表示したときとで
表示が変わってしまいます。
(クライアントからのレギュレーションで②にする必要があり、
CDNも使用できません)

表示の違いは以下です。
①インクルードしている「nav.html」がきちんと表示される
②インクルードしている「nav.html」がきちんと表示されない
(形が崩れている等ではなく要素自体が抜けている状態です)

②でも①のように冷蔵にインクルードされてる状態にしたいのですがどうすればいいのかわかりません。

他のjquery、例えば「ページ内をスムーズに移動」などは①②とも
正常に動作しているので
jqueryが読み込めていないのではなく、
インクルードの仕方がおかしいのかとも思いますが
検討がつきません。

ちなみに、chromeで表示確認をしております。
(chromeのjavascriptの表示もONにしています)

ご教授いただければ幸いです。

HTML

1<!-- 省略 --> 2<header> 3 <div id="nav"></div> 4</header> 5<!-- 省略 --> 6 7 8 9 10 11<!-- 省略 --> 12</footer> 13 14 15 16<!-- jquery --> 17<script src="js/jquery-3.6.0.min.js"></script> 18 19 20 21<script> 22 $(function() { 23 24 25 // ページ内をスムーズに移動 26 $('a[href^="#"]').click(function(){ 27 var time = 500; 28 var href= $(this).attr("href"); 29 var target = $(href == "#" ? 'html' : href); 30 var distance = target.offset().top; 31 $("html, body").animate({scrollTop:distance}, time, "swing"); 32 return false; 33 }); 34 35 36 // include 37 $.ajaxSetup({cache:false}); 38 39 $("#nav").load("nav.html"); 40 $("#footer").load("footer.html"); 41 42 }); 43</script> 44 45 46</body> 47</html>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2021/11/16 08:50

どこの何がわからないのか限定的に質問してください 関係ないソースは全てカットした方がおたがい無駄な作業が減ると思います
kens_Freelance

2021/11/16 08:58

ありがとうございます。修正しました。
m.ts10806

2021/11/16 09:46

>XAMMP 細かいですが、XAMPPです。
guest

回答2

0

残念ながら、file://では、ブラウザによっては1ファイルごとにオリジンが違うとみなされてしまうため、正常に動作しないことがあります。

ブラウザを変えるか、ローカルサーバを使うなどで回避する必要があります。

投稿2021/11/16 09:10

maisumakun

総合スコア146018

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kens_Freelance

2021/11/16 21:00

ありがとうございます。そういうことですね、教えていただき感謝いたします。
guest

0

ベストアンサー

maisumakunさんの回答のようにfile://で表示している場合、ajaxで外部ファイルを参照できないため、他の手段を取るべきですが、強引な方法で読み込むなら
<script src="xxx"></script>(スクリプトタグ)での読み込みは可能ですので
nav.htmlnav.jsに変更して、下記のようにhtmlをjsの文字列として変数に代入すれば読み込む事ができます。

js

1//nav.js 2let html_nav = ` 3<div> 4 <span>nav</span> 5<div> 6`;

それをスクリプトタグで読み込み、$().html()を使用すればHTMLを作成することができます。

html

1<script src="js/jquery-3.6.0.min.js"></script> 2<script src="nav.js"></script><!-- 追加 --> 3<script src="footer.js"></script><!-- 追加 --> 4 5 6<script> 7// include 8$("#nav").html(html_nav); 9$("#footer").html(html_footer); 10</script>

オススメはしませんが

投稿2021/11/16 09:43

webgoto

総合スコア1293

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kens_Freelance

2021/11/16 21:01

ありがとうございます。解決策まで明示いただき感謝いたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問