• ベストアンサー

javascriptの長いコードをサブルーチン化する方法

初歩的な質問かもしれませんが <a href="javascript:void(0);" onclick="window.open ('note.htm','_blank','location=no,menubar=no,scrollbars=yes, resizable=yes,status=no,width=200,height=100,top=0,left=0')">※注釈※</a> …というHTMLをたくさんの箇所に挿入したいのですが,これではあまりにも長い ので,該当ファイルのヘッダ内に <head> <SCRIPT language="javascript" type="text/javascript" src="../script/winopen.js"></script> </head> みたいにwinopen.jsとして収め,必要箇所で呼び出したいのですが, (1) winopen.jsファイル内 と (2) HTMLの<body></body>内 には 具体的にどのように記述したらよいものでしょうか?

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

  • ベストアンサー
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.2

リンクごとに違うのはURLだけでウィンドウの大きさその他は全て同じだとして。 ==winopen.js== function myOpen(url) { window.open(url,'_blank','location=no,menubar=no,scrollbars=yes, resizable=yes,status=no,width=200,height=100,top=0,left=0'); } ==HTML リンクの部分== <a href="~url~" onclick="myOpen(this.href)">※注釈※</a> html部分をさらに短くすることも可能ですがこの程度が妥当だと思います。 (Javascript-offでも普通のリンクとして機能するし、普通のリンクとして機能するようにしておけば検索エンジンもリンク先を拾ってくれます。)

litton101
質問者

お礼

詳細なご解説ありがとうございました. うまく実現できたことはもちろんのこと, 「html部分をさらに短く」しない件についても 大変勉強になりました.

その他の回答 (1)

回答No.1

*.jsファイル function hogehoge () { alert("hoge!"); } *.htmlファイル(一部省略してます) <head> <script src="*.js"></script> </head> <body> <input type="button" onClick="hogehoge()"> </body> こんな感じだと思うんですけど。 ファイル名とかパスだとかは適時置き換えてやってみてください。

litton101
質問者

お礼

早速ありがとうございました. おかげさまで無事に実現できました.

関連するQ&A

専門家に質問してみよう