プロが教えるわが家の防犯対策術!

htmlファイルの中に
<script src="ファイル1.js"></script>
<script src="ファイル2.js"></script>
を読み込ませてwebページに表示させたいです。

ローカルではちゃんと読み込んで表示されたのですが、seesaaブログのファイルマネージャにそれぞれアップロードして、URLをはめ込んでブログを書いても表示されません。
完全に煮詰まってしまいました。ソースを載せてないので情報が限られているとは思うのですが、考えられる原因は何がありますか。

※こういう事はFTPを利用しないとそもそも不可能、.jsファイルの外部化が必要、など。。。ちなみにMacでSafari5.1.1とFirefox7.0.1を使っています。

いろいろ迷ったのですがそもそもjavascriptに自信がないのでこちらのカテゴリで質問させていただきました。

A 回答 (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バイト文字)が入っているだけですよね?

ま、日本語が入っていても問題なく動く事もありますが、サーバーによっては期待通りに動かないかも知れません。
サーバーが対応していても、ユーザー環境によっては動かない事があるかも知れません。
ファイル名に日本語を使う使わない、そんなくだらないことでトラブルが発生する可能性が僅かにでもあるなら、最初から半角英数のみのファイル名にしてトラブルの芽を潰しておく事をお奨めします。

この回答への補足

で、で、できました感激です。
2つの作業を行いました。
1、ホスト名も含めた絶対パスで記述していたのを、BellBellさんに教えていただいたフルパスに記述しなおす
/ディレクトリ名/ファイル1.js
2、ディレクトリをデフォルトのimageから自分で設定した名前の場所にアップロードしなおす

以上です。本当に感激です!!!!!
ご丁寧にありがとうございました。

補足日時:2011/12/02 23:51
    • good
    • 3
この回答へのお礼

ご丁寧に相対パス・絶対パスについて記述していただき、例まで記述していただいてとても分かりやすかったです。
冷静に自分の書いたファイルを読み返し、何をやったかを考え直す事ができました。

とても勉強になります。
今後、自分が教える立場になったらこういったスマートな回答ができるようになりたいです。

本当にありがとうございました。

お礼日時:2011/12/03 00:00

ブログってことはJSファイルはどこにもアップロードしてないんでしょ?そりゃ動かないわ。

ということで
>こういう事はFTPを利用しないとそもそも不可能
が正解にいちばん近い。もう少し正しく言うと、レンタルブログではなくサーバを借りてそこに置かないといけないということ。
ちなみに
>jsファイルの外部化
よくわからないのにそれっぽい言葉を使おうとするのはやめましょう。
><script src="ファイル2.js"></script>
これが「外部化」です。

この回答への補足

回答ありがとうございます。

>ブログってことはJSファイルはどこにもアップロードしてないんでしょ?そりゃ動かないわ。
それぞれアップロードしました。seesaaのブログはサポートされているファイル形式が多いので、.jsファイルそれぞれアップロード可能だったんです。それとも違うサーバーにという意味ですか?

>よくわからないのにそれっぽい言葉を使おうとするのはやめましょう。
すみませんでした。

補足日時:2011/12/02 22:35
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!