• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ひとつの外部ファイルに複数の関数を設定してそれぞれ呼び出したい)

外部ファイルに複数の関数を設定して呼び出す方法

このQ&Aのポイント
  • 外部ファイルに複数の関数を設定して、異なるページで共通の項目を表示する方法について教えてください。
  • 8つの共通の項目をdocument.write()を使用して表示する方法について考えています。外部ファイルを複数使用するのではなく、1つのファイルにまとめることは可能でしょうか?また、関数を使用して呼び出す場合の方法も教えてください。
  • 外部ファイルに8つの共通項目をdocument.write()を使用して表示するために、関数を設定し、呼び出す方法を知りたいです。ただし、<form>タグは使用したくありません。アドバイスをお願いします。

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

  • ベストアンサー
noname#199778
noname#199778
回答No.1

おそらく、質問文中にあるような、関数に処理をまとめておいて、その関数を呼び出すことで対処することは可能と思います。 それを外部ファイルに記述しても同様に扱えるのではないかと思いますよ。 内容を書き出す関数を外部ファイルにまとめた場合、それを組み込むのは1回で十分で、後の任意の場所に文字列等を書き出すのはその関数を呼び出せばよいと思います。 とりあえず、head内で <script src="***.js" type="text/javascript"></script> のように記述して外部ファイルを組み込んでおき、共通のソースを書き出すところではその外部ファイルに組み込まれた関数を呼び出せばよいと思います。 <script type="text/javascript"><!-- kyotu(); //--></script> ただ、この場合は配列に共通項目をまとめて入れておいて、それを関数から読み出す形にする方がスマートにまとめられるかと思います。 この場合、関数を呼び出す時にどの配列から値を取り出して利用するかを指定するための引数を渡す必要がありますが、外部スクリプトはすっきりとした形で記述できるのではないかと思います。 一例として… var msg= new Array(); msg["salue"]="こんにちは~"; msg["link"]="<a href='xxx.html'>link</a>"; function msgWrite(i){ document.open(); document.write(msg[i]); document.close(); } これを外部Javascriptファイルとして保存し、HTMLの側でこれをあらかじめ呼び出しておきます。 HTMLファイルの共通項目を書き出す部分では、 <script type="text/javascript"><!-- msgWrite("salue"); //--></script> <script type="text/javascript"><!-- msgWrite("link"); //--></script> 以上のスクリプト要素を埋め込みます。 なお、配列のキーとしては、番号以外に文字列を使うことも可能で、配列を連想配列のように扱うことも可能です。 今回のケースでは、そこに書き出す内容との整合性を考えた文字列をキーとして扱うことで、ソースの管理をよりわかりやすい形で行うことができると思うので、このような形を提案してみました。 こういったソースではいかがでしょうか? 参考になれば幸いです。

すると、全ての回答が全文表示されます。

関連するQ&A