js(jQuery)が正しいはずなのに動かない時に確認すること
js(jQuery)が正しいはずなのに動かない時に確認すること:
自分が初心者なので、出来るだけ丁寧に書いています。
js初心者でわりと右も左もわからんよって人対象です。
また、前提として、jsの記述自体は正しいという前提です。
状況を確認するため、chromeのデベロッパーツールのconsoleを確認。
すると、エラーが出ていました。
Uncaught ReferenceError: jQuery is not defined
jQueryが定義されてないよって言われてますね。
ソースを確認して見ると、
何か足りない...はっ!!srcがねぇ!!
いつもなんとなく使っているsrc、もちろん意味があります。
jQueryを読み込む役割を担っています。
jQueryを使いたいなら先に読み込みなさいということですね。
なので下記を追加しましょう。
ここで気をつけるのはsrcの記述する位置です。
jQueryを定義するよりも前に記述する必要があります。
そうしないと
記述していてもUncaught ReferenceError: jQuery is not definedというエラーを吐きます。
srcも追加したのにエラー文変わりもしないよ!!ってならないように注意して下さい。
追加する位置も間違えていない。なのにまだエラーが出る人はURLを確認しましょう。
正しくjQueryを読み込めていない可能性があります。
ソースに追加しているURLをコピーしてブラウザで検索してみて下さい。
こんな感じの文字列から始まる画面が表示されます。
上記のような文字がブラウザに表示されていない場合はURLが間違っている可能性があリます。
確認してみましょう。
なのにjsが動かない時は再度URLを確認しましょう。
実はsrcで読み込んでいるURLと自分がjsを効かせたいサイトのURLは依存関係にあります。
(正確にはHTTPプロトコルの部分です)
https(保護された通信)から始まるサイトだとjQueryがブロックされ反映されません。
つまり、
サイトのURLがhttp://~で始まる場合
サイトのURLがhttps://~で始まる場合
上記のhttpから始まるURL以外の書き方で
//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.jsというのもあります。
上記はサイトのURLがhttp or httpsのどちらでも動きます。
・srcの有無と位置
・srcのURLが正しいか否か
・srcのHTTPプロトコルはサイトに対応できているのか
以上を確認すればきっとあなたのjsは動いているでしょう。
※jsの記述自体に誤りがないことを前提にしています。
【jQuery】プログラム動かない時に確認すること
自分が初心者なので、出来るだけ丁寧に書いています。
js初心者でわりと右も左もわからんよって人対象です。
また、前提として、jsの記述自体は正しいという前提です。
動かねぇよ!!って時にまず確認すること
js書いて組み込むだけだったんだけど、読み込まれねぇ!!状況を確認するため、chromeのデベロッパーツールのconsoleを確認。
すると、エラーが出ていました。
Uncaught ReferenceError: jQuery is not defined
jQueryが定義されてないよって言われてますね。
ソースを確認して見ると、
<html>
<head></head>
<body>
・・・・・・・
・・・・・・・
・・・・・・・
<script>
jQuery(function(){
alert("Hello")
});
</script>
</body>
</html>
いつもなんとなく使っているsrc、もちろん意味があります。
jQueryを読み込む役割を担っています。
jQueryを使いたいなら先に読み込みなさいということですね。
なので下記を追加しましょう。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script><html>
<head></head>
<body>
・・・・・・・
・・・・・・・
・・・・・・・
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
jQuery(function(){
alert("Hello")
});
</script>
</body>
</html>
<script>
jQuery(function(){
alert("Hello")
});
</script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
jQuery(function(){
alert("Hello")
});
</script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>を記述していてもUncaught ReferenceError: jQuery is not definedというエラーを吐きます。
srcも追加したのにエラー文変わりもしないよ!!ってならないように注意して下さい。
src追加したけど動かねぇよ?
srcも追加した。追加する位置も間違えていない。なのにまだエラーが出る人はURLを確認しましょう。
正しくjQueryを読み込めていない可能性があります。
ソースに追加しているURLをコピーしてブラウザで検索してみて下さい。
/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/licenseこんな感じの文字列から始まる画面が表示されます。
上記のような文字がブラウザに表示されていない場合はURLが間違っている可能性があリます。
確認してみましょう。
URLも正しいけど動かねぇよ?
URLはブラウザで確認して正しいっぽい。なのにjsが動かない時は再度URLを確認しましょう。
実はsrcで読み込んでいるURLと自分がjsを効かせたいサイトのURLは依存関係にあります。
(正確にはHTTPプロトコルの部分です)
https(保護された通信)から始まるサイトだとjQueryがブロックされ反映されません。
つまり、
サイトのURLがhttp://~で始まる場合
http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js ← okhttps://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js ← okサイトのURLがhttps://~で始まる場合
http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js ← nohttps://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js ← ok上記のhttpから始まるURL以外の書き方で
//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.jsというのもあります。
上記はサイトのURLがhttp or httpsのどちらでも動きます。
まとめ
確認すること・srcの有無と位置
・srcのURLが正しいか否か
・srcのHTTPプロトコルはサイトに対応できているのか
以上を確認すればきっとあなたのjsは動いているでしょう。
※jsの記述自体に誤りがないことを前提にしています。
参考サイト
“https” だと jQuery が動かない時には【jQuery】プログラム動かない時に確認すること
コメント
コメントを投稿