- 締切済み
JSの外部ファイルの書き方を教えてください
よろしくおねがいします。 私は初心者で技術者ではないですが、JavaScriptの項目はここだけのようなので質問させてください。 とある無料配布しているサイトからお借りしたもので、リンクにマウスが乗ると説明文がでるガイドメッセージのJSです。 外部ファイルはまた別のサイトで説明されていたとおりに書きました。 ほかのJSはそれで正常に動きましたが、このガイドメッセージだけはなぜか動きません。 サンプルではすべてHTML内に書いてありましたが、その通りにすると正常に動きます。 外部にするときはどこか変える場所があるのでしょうか・・・??? 自分はこんなふうに書いたのですが・・・ (外部ファイル内) function showMsg (text) { if(!document.getElementById) return; var msgbox = document.getElementById("msgbox"); msgbox.innerHTML = text; } (HTML内) (HEAD内) <script language="JavaScript" src="ファイルURL"></script> (body内) <a href="ファイルURL" onmouseover="showMsg('リンクの説明');" onmouseout="showMsg('いらっしゃいませ');">リンク文字</a> (リンクを表示させる場所) <p id="msgbox" lang="ja"> いらっしゃいませ</p>
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- papillon68
- ベストアンサー率61% (42/68)
nakkiyさんこんにちは、papillon68と申します。 動きませんでしたというのは具体的にはどういった現象でしょうか。 javascriptのエラーが発生したのでしょうか。 外部ファイルの関数を実行しようとしているかをチェックしてみてはいかがでしょうか。 たとえば、 function showMsg(text) { alert(text); ・ ・ } といったように関数の始めにアラートを出してみるなどです。 アラートがでないようでしたら関数を実行していない可能性があります。 ブラウザのセキュリティなどにひっかかっているのかもしれません。 nakkiyさんのスクリプトを参考にして実行してみましたが、私のところでは正常に動作しました。 「 マウスオーバー時:リンクの説明 と表示 マウスアウト時 :いらっしゃいませ と表示 」 test.js ------------------------------------------------- function showMsg(text) { if(!document.getElementById) return; var msgbox = document.getElementById("msgbox"); msgbox.innerHTML = text; } ------------------------------------------------- test.html ------------------------------------------------- <html> <head> <script language="JavaScript" type="text/javascript" src="test.js"></script> </head> <body> <a href="ファイルURL" onmouseover="showMsg('リンクの説明');" onmouseout="showMsg('いらっしゃいませ');">リンク文字</a> <p id="msgbox" lang="ja">いらっしゃいませ</p> </body> </html> -------------------------------------------------
お礼
親切にお答えいただきありがとうございました。 その後、訂正がありましたので、質問しなおすことにしてこちらはいったん締め切ります。 すみません。
補足
>動きませんでしたというのは具体的にはどういった現象でしょうか。 なにも返してこないです。alert(text); を入れてみましたが、無反応です。 JSの知識は皆無なので、失礼してpapillon68さんの書かれたのをコピペさせていただきましたが、動きませんでした・・・ いつもIEを使っているのでためしにネスケで映してみましたが、同じでだめでした。 私のOS環境のせいでしょうか? セキュリティはどこをいじくればいいのでしょうか? なきたいです・・・