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

HTML内の利用箇所にそのまま下記のように日付の表示を記述しているのですが、外部ファイル化するにはどうしたらよいのでしょうか。
<script language="JavaScript">

<!--
var now=new Date();
myTbl = new Array("日","月","火","水","木","金","土");

document.write(now.getFullYear(),"年"
+(now.getMonth()+1)+"月"
+now.getDate(),"日("
+myTbl[now.getDay()]+") ");
document.write(now.getHours()+":"+now.getMinutes()+":"+
now.getSeconds());
-->
</script>
javascript初心者です。よろしくお願いいたします。

A 回答 (4件)

JavaScriptの外部ファイル化は、基本的にはHTMLページ内に記述してある


<script>...</script>
~の内容をそのまま別途テキストファイルとして書き出し保存。そのファイルへのリンクをHTMLページに記述して置くという方法になります。

下記の様な場合、

<script type="text/javascript"><!--
alert('OKWaveは素敵な質問箱!');
//--></script>

実際に外部ファイルに記述する内容は、

alert('OKWaveは素敵な質問箱!');

~のみとなります。

外部ファイル名を hoge.js などとした場合。HTMLページ内に記述するリンクの書き方は、

<script type="text/javascript" src="./hoge.js"></script>

~と言う風になります。


◆ 注意点 ::

>ファイル名と拡張子
ファイル名は必ず「半角英数文字」のみで名付け、拡張子は .js でなければなりません。

>文字コード
JavaScript内で日本語(2バイト文字)を扱う場合、JSファイルと呼び出すHTMLページ側との文字コードを統一しなければなりません。通常はどちらも UTF-8 に統一しておきます。

>相対パス
JSファイル内で他にまた外部ファイル(画像など)を呼び出す処理を行う場合、実際に表示されるHTMLページから見た位置関係では無く、JSファイルから見た相対パスで指定しなければなりません。混乱する様であれば、一律に絶対パスで指定する方法もあります。

この回答への補足

ありがとうございます。
外部ファイルは読み込めたのですが、
1スクリプト、1ファイルにすると
スクリプトが増えると少々厄介なのでファイルをまとめたいのですが、
名前を付けて呼び出しなんて方法もできるのでしょうか。
よろしくお願いいたします。

補足日時:2011/12/30 23:53
    • good
    • 0

>alertを使わずただHTMLの~


え~っと、プログラム言語の基本は理解してますか…??JavaScriptも例外なく、左頭垂直方向に逐次実行の範に入ってます。

特に呼び出し元のHTMLページからの起動アクションを必要としないのであれば、関数化せずとも単純に、1つのJSファイル内に順番に処理を記述して置けば。前述の様にプログラム言語の基本に従って、左頭垂直方向に逐次実行されていくだけです。

この回答への補足

ファイル毎読ませるように記述しました。
ありがとうございました。

<div id="taim"><!-- 時間 -->
<p><script type="text/javascript" src="js/taim.js" charset="shift_jis"></script></p>
</div>

-----------------------------------
var now=new Date();
myTbl = new Array("日","月","火","水","木","金","土");
document.write(now.getFullYear(),"年"
+(now.getMonth()+1)+"月"
+now.getDate(),"日("
+myTbl[now.getDay()]+")");

補足日時:2012/01/14 23:59
    • good
    • 0
この回答へのお礼

HTMLのソースが煩雑になるのではと思い、外に出したかったのですがやはり直接書いておくしか方法はないようですね。ありがとうございました。

お礼日時:2012/01/14 23:54

>名前を付けて呼び出し


そう言う場合は直にJSファイルを個別に呼び出すのでは無く。それぞれの必要な別々の処理(スクリプト)を関数にして1つのJSファイル内に記述して置き、それを必要に応じて関数として呼び出す様にプログラムを書きます。

例えば、呼び出し元のHTMLページ内の記述は

<li><a href="javascript:my_func1();">テスト1</a></li>
<li><a href="javascript:my_func2();">テスト2</a></li>
<li><a href="javascript:my_func3();">テスト3</a></li>

~と言う風に書いておき。

外部JSファイルの方には以下の様に3つの事なる処理をそれぞれ、3つの別々の関数として記述して置きます。

function my_func1() {
alert('OKWaveは素敵な質問箱!');
}

function my_func2() {
alert('OKWaveはクールな質問箱!');
}

function my_func3() {
alert('OKWaveは優しい質問箱!');
}

~呼び出し方や、処理の振り分け方は他にも色々な方法があります。

この回答への補足

alertを使わずただHTMLの一部として表示したいだけなので、クリックとかしなくても良いようにしたいのです。 <a href="javascript:my_func2();">テスト2</a> Aリンク以外のアクションをしなくてもOKな方法を教えていただくと助かります。(たびたび申し訳ありません。)

補足日時:2011/12/31 23:29
    • good
    • 0
    • good
    • 0

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