• ベストアンサー

別ウィンドウが開かない/JavaScript

お世話になります。手探りで参考書やwebで調べながらHP作成しています。javascriptで、文字をクリックすると別ウィンドウ(画像にあわせたウィンドウサイズ)が開くようにしたいのですが、うまくいきません。お手数おかけしますが、教えていただけますようお願いします。 <html> <head> <title>sample</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <style type="text/css"> <!-- body{ background: #FFFFFF; font-size :12px; line-height :100%; } .sserif省略 .serif省略 .jgothic省略 hとpのスタイル指定タグ省略 a:link 省略 a:visited 省略 a:hover 省略 --> </style> <SCRIPT LANGUAGE="JavaScript"> <!-- function subwin(wURL,wName,wOption){ window.open(wURL,wName,wOption,status=no,scrollbars=no,directories=no,menubar=no,resizable=no,toolbar=no right=0px); } //--> </SCRIPT> 検索避けmetaタグ省略します </head> <body bgcolor="#FFFFFF" text="#000000" link="#000000" vlink="#000000" alink="#FF0066" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table border="0" width="400" cellspacing="0" cellpadding="0" align="center"> <tr> <td><img src="sample/topgazou.jpg" width="700" height="400" border="1"></td> </tr> <td width="400" height="40" bgcolor="#FF0066" valign="middle"> <h1>sample</h1> </td> </tr> <tr> <td> <br><h2>PICTURE</h2> <p><a href="javascript:subwin('sample/gazou.htm','window1','width=453,height=700','right=0px')">gazou</a></p> ★1.upしてこのページにいくとエラーが発生します。 [エラー内容] ライン:53 文字:116 エラー:')'がありません。 コード:0 ★2.別ウィンドウのリンクを貼った箇所をクリック、開かずまたエラーが出ます。 [エラー内容] ライン:1 文字:1 エラー:オブジェクトを指定してください コード:0 ★winXP/メモ帳で作成後、Dreamweaverでup、I.E6.0とFireFoxで確認、開かない。その他可笑しいところだらけだと思いますので教えて下さると助かります。

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

  • ベストアンサー
  • davosuke
  • ベストアンサー率61% (34/55)
回答No.1

1のエラー scrollbars=no,directories=no,menubar=no,resizable=no,toolbar=no right=0pxの部分が文字列になってので window.open(wURL,wName,wOption,status=no,scrollbars=no,directories=no,menubar=no,resizable=no,toolbar=no right=0px); ↓に変更 window.open(wURL,wName,wOption,"status=no,scrollbars=no,directories=no,menubar=no,resizable=no,toolbar=no right=0px");

okyan
質問者

お礼

回答ありがとうございます! 教えていただいたように、"をこの二箇所に入れたら、エラーにならずにきちんと開けました! これは、どう理屈を考えたら良いのか… 新規ウィンドウ開くために(ウィンドウを開く時の識別内容,"そのウィンドウ自体の要素") という感じで覚えれば良いのでしょうか 難しい… とにかく、ありがとうございます。もしまだ助言してくださるような事がありましたらお願いします。素人ですみません! ><

その他の回答 (2)

  • venzou
  • ベストアンサー率71% (311/435)
回答No.3

>これは、どう理屈を考えたら良いのか… 仕様ですので、覚えるしかないと思います。 mozillaのページでは、以下の記述を見つけました。 WindowObjectReference = window.open(strUrl, strWindowName [, strWindowFeatures]); Microsoftのページでは、以下の記述を見つけました。 oNewWindow = window.open( [sURL] [, sName] [, sFeatures] [, bReplace]) 違いがありますが、共通する使い方として、 window.open(URL, 名前 [,オプション]); 2つ、又は、3つの文字列を渡します。 オプションは省略可能で、まとめて1つの文字列で渡します(仕様です)。 >(ウィンドウを開く時の識別内容,"そのウィンドウ自体の要素") オプションの部分は、種類も多いし、ブラウザによって対応していない項目もあるので、個別の引数にするのは難しいです。 ですから、まとめて文字列で渡し、ブラウザが対応している部分のみ適用すると言う形になっているのだと思います。 ----------------------------------------- 問題点1 >window.open(wURL,wName,wOption,status=no,scrollbars=no,directories=no,menubar=no,resizable=no,toolbar=no right=0px); この記述だと、オプションをバラバラで、たくさん渡している事になるので、まずいです。(一箇所 , も抜けてます) window.open(wURL,wName,wOption + ",status=no,scrollbars=no,directories=no,menubar=no,resizable=no,toolbar=no,right=0px"); このように修正。wOptionと後の文字列は + で足します。 ----------------------------------------- 問題点2 >function subwin(wURL,wName,wOption){ ><a href="javascript:subwin('sample/gazou.htm','window1','width=453,height=700','right=0px')"> 宣言と利用時の引数の数が一致していません。 <a href="javascript:subwin('sample/gazou.htm','window1','width=453,height=700,right=0px')"> right=0pxも必要なら、前の文字列に合わせます。 (right=0px がダブってます。どちらかが不要では?)

okyan
質問者

お礼

お礼が遅くなってしまって申し訳ありません! wOption以降はオプションの内容なんですね… わからなすぎて本当に漠然としていました。 これで自分なりに少しは整理して理解できると思います。 ,も抜けてますね… right=~も片方だけにしました。 ありがとうございました!

  • davosuke
  • ベストアンサー率61% (34/55)
回答No.2

★2.は★1.が改修完了すれば出なくなると思います。

okyan
質問者

お礼

下記のように修正したらエラーが両方出なくなりました。 ありがとうございます!

関連するQ&A