• ベストアンサー

javascriptを別ファイルにして、HTMLファイルから呼び出したい

4つのリンクがあり、 それぞれサイズを指定して小窓を出したいと思い 調べたら以下のソースがありましたので、出来ました。 <a href="javascript:void(0);" onclick="window.open('表示するペ-ジのURL','○○', 'width=横サイズ,height=縦サイズ,resizable=リサイズボックス有無,menubar=メニュ-バ-有無,status=ステ-タスバ-有無,location=ロケ-ションバ-有無,scrollbars=スクロ-ルバ-有無,toolbar=ツ-ルバ-有無,');">リンク1</a> これをHTMLファイルに直接入れるのではなく JavaScriptファイルとして別にしたいのと、 HTMLファイルで「リンク1」という文字にそのJavaScriptを適用(呼び出す?)するには、どうしたらいいのでしょうか? 「リンク1」「リンク2」「リンク3」… と、リンク先はそれぞれです。 よろしくお願いいたします。

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

  • ベストアンサー
  • leap_day
  • ベストアンサー率60% (338/561)
回答No.6

こんにちは あぁ~なるほど htmlファイルをクリックして表示させてるんですね? それでしたら「セキュリティー保護の為~~」のバーをクリックして 「ブロックされているコンテンツを許可」 「セキュリティーの警告 このファイルでアクティブコンテンツを実行しますか?」を「はい」にすればとりあえずは見れると思いますけど・・・

その他の回答 (5)

  • leap_day
  • ベストアンサー率60% (338/561)
回答No.5

こんにちは こういう感じのもの? [test.js] window.onload = function() { link1 = document.getElementById("a1"); link1.href = "javascript:win('test0.html','500','300')"; link2 = document.getElementById("a2"); link2.href = "javascript:win('test1.html','600','600')"; link3 = document.getElementById("a3"); link3.href = "javascript:win('test2.html','300','300')"; } function win(url,width,height) { window.open(url,'win1',"width="+width+",height="+height+",resizable=no,menubar=no,status=no,location=no,scrollbars=no,toolbar=no"); } [html] <script type="text/javascript" src="./test.js"></script> <a id="a1"> リンク1</a> <a id="a2"> リンク2</a> <a id="a3"> リンク3</a> No.3様のやってみましたが出来るようですね~~ 何が違うんだろう? 『それぞれサイズ指定』とあったので投稿しましたので解決したら組み合わせて使ってみてください (僕のはステータスバーに色々情報が出ますので・・・ javascript:win('test2.html','300','300'); のように)

noname#53881
質問者

補足

ありがとうございます~~ あれ?出来ました?? それでは、こちらのPCの設定か何かでしょうか・・・ HTMLファイルを開くと 「セキュリティ保護のため、~~~」 という黄色いバーが上に出てきますが、 「ブロックされているコンテンツを許可」 を選べば出来るはずですよね? それでも リンク1 リンク2 リンク3 と横並びになってるだけになっちゃいます・・・ お忙しい中、本当にすみません・・・

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.4

コピペしましたね? この掲示板からコピーしたものを張るとごみがつくようです。 openWindow("ttp://・・・") のところを一度削除した上で手入力でうちなおしてください・・・・

noname#53881
質問者

補足

ごめんなさい~ コピペしました。 メモ帳にコピペしてからまたコピペしたんですけどダメなんですね・・・ とりあえずすべて手打ちしたら、すんなり保存できました^^ ありがとうございました。 でもHTMLの方でリンクが貼れてないんです。 文字だけ出てます。 HTMLとJSファイルは同じディレクトリです。 難しいというより何故なのか全くわかりません… わかる方ってすごいですね。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

javascriptを完全に外部にわかるのであればidを振って処理します。 //html <html> <head> <script type="text/javascript" src="test.js"></script> </head> <body> <a id="link1">リンク1</a> <a id="link2">リンク2</a> <a id="link3">リンク3</a> </body> </html> //test.js window.onload=function(){ var link1=document.getElementById('link1'); link1.setAttribute("href","javascript:void(0);"); link1.onclick=function(){openWindow("http://www.yahoo.co.jp")}; var link2=document.getElementById('link2'); link2.setAttribute("href","javascript:void(0);"); link2.onclick=function(){openWindow("http://www.google.co.jp")}; var link3=document.getElementById('link3'); link3.setAttribute("href","javascript:void(0);"); link3.onclick=function(){openWindow("http://www.goo.ne.jp")}; } function openWindow(url){ newWin=window.open(url,'newWin','width=800,height=600,resizable=no,menubar=no,status=no,location=no,scrollbars=no,toolbar=no'); newWin.focus(); }

noname#53881
質問者

補足

できそう! …と思いましたができませんでした(涙) リンク1 リンク2 リンク3 にリンク貼れてなかったです。 text.jsを作成して保存するとき 「現在のエンコーディングではドキュメント内のすべての文字を正しく保存できません。UTF-8 またはこのドキュメント内の特殊文字をサポートするエンコードに変更してください。」 というのが出ました。 機種依存文字さがしましたが、なさそうなんですけど?? 何かおかしいのでしょうか? 何度もすみません。よろしくお願いします。

noname#39970
noname#39970
回答No.2

>JavaScriptファイルとして別にしたい <script src="script.js"></script>

noname#53881
質問者

補足

その中身というか… リンク一つ一つありますので その一つ一つの呼び出し方がわからなかったんです。 ありがとうございました。

  • asx
  • ベストアンサー率50% (27/54)
回答No.1

◆JavaScriptファイル function fnc_open(file) { window.open(file, 'title', 'width=100, height=100, menubar=no, toolbar=no, scrollbars=yes'); } ◆HTML <a href="javascript:fnc_open('link1.html');">リンク1</a> <a href="javascript:fnc_open('link2.html');">リンク2</a> <a href="javascript:fnc_open('link3.html');">リンク3</a> こんなかんじで、「fnc_open('****')」の****部分にそれぞれファイル名を指定すればできます。

noname#53881
質問者

お礼

ありがとうございまいた。 ウィンドウサイズが全部同じでしたらこれでよかったかもしれないのですが、ウィンドウのサイズもそれぞれなんです。 すみません。 でも勉強になりました。

関連するQ&A