- ベストアンサー
外部ファイルにした時の引数
今、外部ファイルとして作っていて、疑問になったことがあります。 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>"); }
- みんなの回答 (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>"); } これじゃダメでしょうか?単純に。
その他の回答 (2)
- the845t
- ベストアンサー率33% (246/743)
その為のfunctionでは? function check($no){ if($no == "4"){ return ("<a href=...."); }else{ return ("<a href=...."); } } <script> <!-- document.write(check(4)); // --> </script> 最近やってないので若干違うかもしれませんが。
- neue_reich
- ベストアンサー率21% (138/647)
ASPなどでよくある手法ですね。 しかし、JavaScriptでは不可能(そもそも、document.menuno.valueは認識されないはずです)なので、以下の手法はいかがでしょうか? まず、必要な処理を関数化します。 次に、判定用の値を引数とします。 HTMLファイル内の必要な場所で、引数に値をいれて以下のように呼び出します <script language="JavaScript"> function(引数); </script> これで、問題ないと思います。 ちょっと面倒かと思いますが、いかがでしょうか?
お礼
3人の方に回答いただき、ありがとうございました。 皆さんほぼ同じような回答なので、ここでまとめてお礼を書かせていただきます。 ポイントは、私の書いた例は、一つですが、実は、この引数がひとつでは無いことと、スクリプトを外部ファイルにしたいことだったので、単純にfunctionにしただけではダメでした。 ★No.1のneue_reichさん そうですね、言われるとおりです。私が書いたのはイメージをつかみやすくするための例ですから、これでうまくいくとは考えていません。 neue_reichさんの回答のままではうまくいきませんでしたが、もうひとひねりしたら、何とか動きました。 ★No.2のthe845tさん それで良いのは分かっているのですが、そのための引数を、どうやってHTMLファイルからscriptファイルの渡すのかが質問でした。 ★No.3のmirurinさん おぉ、確かにそうですね。 ちなみに変数の種類を10個ほど作って実験したらうまくいきました。 大変明快な回答をいただき、ありがとうございました。