- ベストアンサー
webページに外部のJavaScriptファイルを読み込む方法
- webページに外部のJavaScriptファイルを読み込む方法について質問です。
- ローカルでは正常に読み込まれているが、seesaaブログでは読み込まれない問題について、原因を知りたいです。
- 使用しているブラウザはSafari5.1.1とFirefox7.0.1です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
とりあえず、該当の動かないというページを開いて「HTMLソースの表示」をしてみましょう。 javascriptはそれを利用したウィルス、閲覧者からの情報の盗み出しなどがあり得る為、該当ブログサービスが機能を停止(削除または動かないようにタグの書き換え)を行っている可能性があります。 HTMLソース内で見て、問題なく動くはずという事が確認できたなら、次に該当のページから相対パス等を考慮してアドレスバーを直接編集して、jsファイルを直接開きます。 HTTP://hoge.com/fuga/piyo/ponyo/ ページを開いていて、 <script src="./ファイル1.js"></script> となっているなら、開くのは HTTP://hoge.com/fuga/piyo/ponyo/ファイル1.js <script src="../../js/ファイル1.js"></script> となっているなら、開くのは HTTP://hoge.com/fuga/js/ファイル1.js などです。 それが開けないなら、相対パスの記述が間違っているんでしょうし、ブログのように場面場面で階層が異なる可能性のあるシステムで、相対パスを使用する事そのものが間違いです。 <script src="HTTP://hoge.com/fuga/js/ファイル1.js"></script> <script src="/fuga/js/ファイル1.js"></script> 上記いずれかのように、ホスト名まで含めた絶対URLで書くか、ホスト名のみ省略したフルパスで記述します。 すでに、フルパス記述の場合でも、念の為にブラウザで直接開いて見てみる事を奨めます。 なにかくだらないミス(階層の勘違いやスペルミス等)が見つかるかも知れません。 あとは、 <script src="ファイル1.js"></script> 等は、あくまで説明の為に日本語(2バイト文字)が入っているだけですよね? ま、日本語が入っていても問題なく動く事もありますが、サーバーによっては期待通りに動かないかも知れません。 サーバーが対応していても、ユーザー環境によっては動かない事があるかも知れません。 ファイル名に日本語を使う使わない、そんなくだらないことでトラブルが発生する可能性が僅かにでもあるなら、最初から半角英数のみのファイル名にしてトラブルの芽を潰しておく事をお奨めします。
その他の回答 (1)
ブログってことはJSファイルはどこにもアップロードしてないんでしょ?そりゃ動かないわ。ということで >こういう事はFTPを利用しないとそもそも不可能 が正解にいちばん近い。もう少し正しく言うと、レンタルブログではなくサーバを借りてそこに置かないといけないということ。 ちなみに >jsファイルの外部化 よくわからないのにそれっぽい言葉を使おうとするのはやめましょう。 ><script src="ファイル2.js"></script> これが「外部化」です。
補足
回答ありがとうございます。 >ブログってことはJSファイルはどこにもアップロードしてないんでしょ?そりゃ動かないわ。 それぞれアップロードしました。seesaaのブログはサポートされているファイル形式が多いので、.jsファイルそれぞれアップロード可能だったんです。それとも違うサーバーにという意味ですか? >よくわからないのにそれっぽい言葉を使おうとするのはやめましょう。 すみませんでした。
お礼
ご丁寧に相対パス・絶対パスについて記述していただき、例まで記述していただいてとても分かりやすかったです。 冷静に自分の書いたファイルを読み返し、何をやったかを考え直す事ができました。 とても勉強になります。 今後、自分が教える立場になったらこういったスマートな回答ができるようになりたいです。 本当にありがとうございました。
補足
で、で、できました感激です。 2つの作業を行いました。 1、ホスト名も含めた絶対パスで記述していたのを、BellBellさんに教えていただいたフルパスに記述しなおす /ディレクトリ名/ファイル1.js 2、ディレクトリをデフォルトのimageから自分で設定した名前の場所にアップロードしなおす 以上です。本当に感激です!!!!! ご丁寧にありがとうございました。