• ベストアンサー

外部ファイルにした時の引数

今、外部ファイルとして作っていて、疑問になったことがあります。 HTMLファイルから何か引数(番号など)を渡して、それによって動作を変えられないかというものです。perlみたいに・・・ ↓こんな感じで実現できたら、とても便利なんですが、何か良い方法はないでしょうか? ★HTMLファイルでも呼び方 <script language="JavaScript" src="menu.js?menuno=4"></script> ★Javascriptファイル内での判定 if(document.menuno.value=="4"){ document.write("<a href='next/index.html'></a>"); } else { document.write("<a href='other/index.html'></a>"); }

質問者が選んだベストアンサー

  • ベストアンサー
  • mirurin
  • ベストアンサー率43% (48/111)
回答No.3

HTMLファイル <script> menuno="4"; </script> <script language="JavaScript" src="menu.js"></script> JSファイル if(menuno=="4"){ document.write("<a href='next/index.html'></a>"); } else { document.write("<a href='other/index.html'></a>"); } これじゃダメでしょうか?単純に。

Spur
質問者

お礼

3人の方に回答いただき、ありがとうございました。 皆さんほぼ同じような回答なので、ここでまとめてお礼を書かせていただきます。 ポイントは、私の書いた例は、一つですが、実は、この引数がひとつでは無いことと、スクリプトを外部ファイルにしたいことだったので、単純にfunctionにしただけではダメでした。 ★No.1のneue_reichさん そうですね、言われるとおりです。私が書いたのはイメージをつかみやすくするための例ですから、これでうまくいくとは考えていません。 neue_reichさんの回答のままではうまくいきませんでしたが、もうひとひねりしたら、何とか動きました。 ★No.2のthe845tさん それで良いのは分かっているのですが、そのための引数を、どうやってHTMLファイルからscriptファイルの渡すのかが質問でした。 ★No.3のmirurinさん おぉ、確かにそうですね。 ちなみに変数の種類を10個ほど作って実験したらうまくいきました。 大変明快な回答をいただき、ありがとうございました。

その他の回答 (2)

  • the845t
  • ベストアンサー率33% (246/743)
回答No.2

その為のfunctionでは? function check($no){ if($no == "4"){ return ("<a href=...."); }else{ return ("<a href=...."); } } <script> <!-- document.write(check(4)); // --> </script> 最近やってないので若干違うかもしれませんが。

回答No.1

ASPなどでよくある手法ですね。 しかし、JavaScriptでは不可能(そもそも、document.menuno.valueは認識されないはずです)なので、以下の手法はいかがでしょうか? まず、必要な処理を関数化します。 次に、判定用の値を引数とします。 HTMLファイル内の必要な場所で、引数に値をいれて以下のように呼び出します <script language="JavaScript"> function(引数); </script> これで、問題ないと思います。 ちょっと面倒かと思いますが、いかがでしょうか?

関連するQ&A

専門家に質問してみよう