javascriptの書き方について。

外部のJavascriptファイルを読み込んで、そのファイル内の関数Func_A(5)を初期動作として呼び出すということをする場合、以下のように書くことはできますか?

<script language=JavaScript src="xxxxx.js>
Func_A(5);
</script>

それとも2つに分けて書かなくてはいけないのでしょうか?

また、jsファイルから値を参照できるように、
jsファイルのURL部分に
xxxxx.js?aaa=10
というような書き方をして、aaaの値をすることができるのでしょうか?
できる場合、取得する箇所はどう書きますか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2006/12/03 17:29:35
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:llusall No.1

回答回数505ベストアンサー獲得回数61

ポイント35pt

test.html

<html>

<head>

<script language="JavaScript" src="xxxxx.js" ></script>

<script language="JavaScript">

    var aaa=10; // 他のjsファイルの関数からも参照できます。

</script>

</head>

<body onload="Func_A(5);"><!-- ロード時に関数が実行 -->

テスト

</body>

</html>

xxxxx.js

function Func_A(v){

    alert("Hello World! 引数["+v+"] aaa["+aaa+"]")

}

id:dingding

やはり2つのscriptタグで書かなくてはいけないのでしょうか?2つでかけるのは承知しています。

また、値を渡すのも、引数や、変数の設定をして渡せるのはわかるのですが、1つのscriptタグで処理できるのかが気になります。

2006/12/03 02:15:15
id:kazu1107 No.2

回答回数199ベストアンサー獲得回数14

ポイント35pt

<script language="JavaScript" src="xxxxx.js" >

var aaa=10;

</script>

IE6,Firefox2共に、このコードはうごきません。


やはり2つのscriptタグで書かなくてはいけないのでしょうか?

一つにまとめる利点はソース量が少し減るぐらいですよね?素直に二回、scriptタグを書くべきです。



また、jsファイルから値を参照できるように、

jsファイルのURL部分に

xxxxx.js?aaa=10

というような書き方をして、aaaの値をすることができるのでしょうか?

できる場合、取得する箇所はどう書きますか?

多分これをやるにはCGIをかませる必要があるんじゃないでしょうか?

JavaScriptで受け取れるのは「test.html?aaa=10」のような、HTMLファイルに対するメソッドパラメータではないかと思います。


参考URL:

http://www.gesource.jp/programming/javascript/20060503.html

id:dingding

なるほど。やはり分ける必要があるんですね。

ありがとうございます。

2006/12/03 17:27:55
  • id:llusall
    通常の方法は概知だったのですね。
    はずしてしまい、すみませんでした。
  • id:tobeoscontinue
    <script language="JavaScript" src="xxxxx.php?aaa=10" >
    のようにcgi(この場合phpとする)でjavascriptを出力するように
    出来れば(phpなどのcgiが使えれば)希望する感じになると思います

    xxxxx.php
    <?php
    echo <<<EOF
    function Func_A(init)
    {
    var aaa = init;
    alert("Func_A("+aaa+")");
    }
    Func_A({$_GET["aaa"]});
    EOF
    ?>

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません