• ベストアンサー

別ウィンドウが開かない/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で確認、開かない。その他可笑しいところだらけだと思いますので教えて下さると助かります。

  • okyan
  • お礼率100% (19/19)

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

  • ベストアンサー
  • 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

  • Layerの中にあるリンクがmacで動作しません

    以下が友達に質問されたソースを簡略化した物です。layerを左右2段組みにしてますが、右のlayer内が全く反応しません。layerを使わなければできるのですが、この方法のどこが間違っているかが教えられなくて質問しました。よろしくお願い致します。 javascript~window.open省略 <DIV style="top : 61px; left : 356px; position : absolute; z-index : 1; width: 331px; height: 40px;" id="Layer2"> <DIV> <TABLE border="1" width="331" height="40"> <TBODY> <TR> <TD width="61" height="20">サンプル2</TD> <TD width="214"><A href="#">◆</A></TD> </TR> </TBODY> </TABLE> </DIV> </DIV> <DIV style="top : 61px;left : 24px; position : absolute; z-index : 3; " id="Layer5"> <DIV> <TABLE border="1" width="313" height="40"> <TBODY> <TR> <TD width="134" height="16">サンプル</TD> <TD width="141"><A href="#">◆</A> </TD> </TR> </TBODY> </TABLE> </DIV> </DIV>

    • ベストアンサー
    • HTML
  • ページ上部にスペースが空いてしまう・・・

    今ショッピングモールに出店するために素人ながらページを作っているんですが、ヘッダーの部分の上にスペースがどうしても空いてしまっていていて、修復できません・・・・。モールの方に聞いてみたところ「閉じるタグが抜けている・・」等の答えが返ってきたのですが、それ以上は教えてくれませんでした。。いろいろ調べてみたのですが、どうしても分かりません。。どうかよろしくお願いいたします。 ↓まだ作成途中なので変な箇所があるかもしれません・・。 <table class="head" bouder> <tr> <td class="head"> <img src="gazou" width=600 height=130 alt=""> <tr> <tr align="right"valign="middle"><br> <tr> <td width="713" height="35"> <table width="0" border="0" cellpadding="0"> <tr><td width="32%"><img src="gazou" width="200" height="8"></td> <td width="0%"><a href="~.html"><img src="gazou" width="108" height="25"border="0"></td> <td width="16%"><a href="~html"><img src="gazou" width="107" height="27"border="0"></td> <td width="16%"><a href="~html"><img src="/lib/shidagoromo/puraa" width="108" height="27"border="0"></td> <td width="16%"><a href="~.html"><img src="gazou" width="107" height="27" border="0"></td> <td width="20%"><img src="gazou" width="107" height="28"border="0"></td> </tr> </table> </td> </tr> よろしくお願いします。

    • ベストアンサー
    • HTML
  • javascriptで別ウインドウを開いたのですが背景設置が上手くいきません。

    いつもお世話になっております。 JavaScriptを使用し別ウインドウで画像を表示させているのですが、 そのウインドウの背景が上手く設定できません。 どのように編集すればよいでしょうか? 現在の状態は以下の通りです。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>aaa</title> <script language="javascript"> <!-- function OpenWindow(){ var width = document.images['00'].width + 228; var height = document.images['00'].height +254; subWin = window.open("","subWin","status=no,menubar=no,toolbar=no,scrollbars=no,resizable=yes,screenX=0,screenY=0,width=" + width + ",height=" + height + '"'); with(subWin.document) { open(); write("<html><head><title>sample1</title></head>"); write("<body onload='window.resizeTo( document.images[00].width + 40,document.images[00].height + 120)'><div align='center'><img id='00' src='b/1b.jpg'><br>"); write("<button type='button' onclick='window.close()'>閉じる</button></body></div></html>"); close(); } } --> </script></head> 宜しくお願いします。

  • javascriptを使い、サムネイル表示

    サンプルHP⇒http://cartown.jp/detail_dt.php?car_id=1990056 のような、サムネイル画像と拡大画像を表示させる記述方法を 教えてください。 下記のような回答文を確認したのですが、img要素を列挙する記述やonclickイベントを結びつける記述すらわかりません。こんな超初心者ですが、よろしくお願い致します。 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ <html> <head> <meta http-equiv="Content-Language" content="ja"> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>サンプル</title> <script type="text/javascript"> function showImg(){ document.getElementById("image").src=this.src; } function setup(){ var thumbnails=document.getElementsByName("thumbnail");//name="thumbnail"とついているimg要素を列挙 for(var i=0;i<thumbnails.length;i++)thumbnails[i].onclick=showImg;//↑で列挙したものにonclickイベントを結びつける } window.onload=setup; </script> <style type="text/css"> .main td{ width:300px; height:300px; } </style> </head> <body> <table border class="main"> <tr> <td><img id="image" width="300" height="300"></td> <td> 文章 </td> </tr> </table> <!--ここから下の画像はサムネイル用ではなく、上に表示する予定の画像と同じもので width属性とheight属性を指定して大きさを変えています。(ここでは全部300x300の画像とします。)--> <table border> <tr> <td><img name="thumbnail" src="img1.png" width="48" height="48"></td> <td><img name="thumbnail" src="img2.png" width="48" height="48"></td> <td><img name="thumbnail" src="img3.png" width="48" height="48"></td> <td><img name="thumbnail" src="img4.png" width="48" height="48"></td> <td><img name="thumbnail" src="img5.png" width="48" height="48"></td> </tr> <tr> <td><img name="thumbnail" src="img6.png" width="48" height="48"></td> <td><img name="thumbnail" src="img7.png" width="48" height="48"></td> <td><img name="thumbnail" src="img8.png" width="48" height="48"></td> <td><img name="thumbnail" src="img9.png" width="48" height="48"></td> <td><img name="thumbnail" src="img10.png" width="48" height="48"></td> </tr> </table> サムネイルクリックで拡大します。 </body> </html>

  • 外部サーバへリンク 別ウィンドウの最大化表示

    別ウィンドウ表示指定のリンク先を最大化で開きたいので、下記のように書いてみましたが、うまく動作しません。 <HTML> <script language="javascript"> <!-- function OpenWindow(){ subWin = window.open("http://www.yahoo.co.jp/","subWin","status=no,menubar=no,toolbar=no,toolbar=no,scrollbars=yes,resizable=yes"); subWin.moveTo(0,0); subWin.resizeTo(screen.availWidth,screen.availHeight); } --> </script> <HEAD> <title>サンプル</title> </HEAD> <body> <table><tr><td> <a href="javascript:;" onClick="OpenWindow()">別のウィンドウを開く</a> </td></tr></table> </body> </HTML> リンク先が相対指定の場合は、最大化表示ができるのですが、リンク先をフルパスで記述すると、JavaScriptのエラーになり、新規ウィンドウも最大化になりません。 リンク先が絶対指定でも、別ウィンドウを最大化にできる記述方法を教えてください。

  • テーブルの枠線とテキストフィールドの縦、横の隙間をなくしたい

    テーブルの枠線とテキストフィールドの縦、横の隙間をなくしたい テーブルの枠線とテキストフィールの枠を隙間なくピッチリとくっつけたい です。コードを掲示しますのでご存知の方はどなたか修正願います <body> <table width="900" border="1" style="height:25px;"> <tr> <td rowspan="2" width="400">&nbsp;</td> <td rowspan="2" width="50">&nbsp;</td> <td rowspan="2" width="100"><input type="text"readonly="readonly"value="サンプルシステム(株)" style="height:25px;"/>&nbsp;</td> <td rowspan="2" width="50">&nbsp;</td> <td rowspan="2" width="100"><input type="text"readonly="readonly" value="システム管理者"style="height:25px;"/>&nbsp;</td> <td width="60"style="height:12px;">実施日</td> <td width="140"><input type="text" readonly="readonly" width="140"value="2010/07/01" style="height:12px;"/></td> <tr> <td height="19" style="height:12px;">CODE</td> <td><input type="text" readonly="readonly" width="140" value="TTSORD50P" style="height:12px;"/></td> </tr> </table> </body>

    • ベストアンサー
    • HTML
  • JavaScriptを入れるとtdタグ内の高さが広がる

    CSSにて高さ指定もしてあるのですが、JavaScriptの記載あるtdタグの高さがIEだと広がってしまいます。 この現象はFireFoxだと現れません。 下記コードですと3段目と4段目のtdの高さが他の段に比べ広がってしまいます。 何か解決策とうございましたら、教えてください。 -----------JavaScript関数----------- <script language="javascript"> function goNext() {  if (confirm("確認")) {   return true;  } else {   return false;  } } </script> -----------html----------- <table id="tablea"> <tr><td class="b"><img src="img.jpg"/></td></tr> <tr><td>&nbsp;</td></tr> <tr><td class="b"><form action="5_4modify1_pla.html" onsubmit="return goNext();"><input name="bb" type="image" src="img.jpg" width="150" height="30"/></form></td></tr> <tr><td class="b"><form action="5_4modify1_pla.html" onsubmit="return goNext();"><input name="bb" type="image" src="img.jpg" width="150" height="30"/></form></td></tr>  <tr><td class="b"><img src="img.jpg"/></td></tr> </table> -----------CSS----------- .b {height: 30px;} #tablea { width: 180px; height: 200px;} ----------------------

    • ベストアンサー
    • HTML
  • 外部JSでサブウィンドウを設定する場合

    サブウィンドウの設定についてご質問いたします。 親ウィンドウの中の画像をクリックしてサブウィンドウを開くと言う設定をしたいのです。 親ウィンドウにある画像は2つでそれぞれ開くサブウィンドウの大きさは異なります。 まずsample.jsを作り function subopen1(){ window.open("××.html","subwin1", "width=450,height=450,toolbar=no,scrollbars=no,left=15,top=5") } function subopen2(){ window.open("××.html","subwin2", "width=500,height=450,toolbar=no,scrollbars=no,left=15,top=5"); } と記述しました。 そして<HEAD>~</HEAD>に <script type="text/javascript" src="sample.js"></script> 続いて<BODY>~</BODY>には <A href="javascript:subopen1()"><IMG src="××1.gif" width="100" height="120" alt="Click"></A> <A href="javascript:subopen2()"><IMG src="××2.gif" width="100" height="120" alt="Click"></A> と記述したのですが 「オブジェクトを指定して下さい」とエラー表示され実行出来ません。 上記に修正箇所があったら教えて下さい。 又別な方法でも構いませんのでサブウィンドウの設定が出来れば教えて頂きたいと思います。 どうか宜しくお願い致します。ペコ↓m(_ _;)m↓ペコ

  • JavaScriptについて

    下記のHTMLのtableの数字のところをクリックすると別ウィンドウが開き文字を書き込み、書き込んだ文字を数字の下の空白部分に表示して保存するというコードを教えてください <table border="2" rules="all"> <tr> <td width="50">1</td> <td width="50">2</td> <td width="50">3</td> </tr> <tr> <td height="50" width="50"></td> <td height="50" width="50"></td> <td height="50" width="50"></td> </tr>

  • 外部JavaScriptで書き出す文字がMozilla改行してくれない

    下記で書き出した文字列ですが、IEだと450pxで改行されるのに対して、Mozillaだと改行してくれません。 どうすれば改行してくれるのか、何がまずいのかご教授お願いします。 -----HTML <TABLE width='450' border='0' cellspacing='0' cellpadding='0' bgcolor='#FFE0B8'> <TR> <TD width='450'><SCRIPT LANGUAGE="JavaScript" src="sample.php"></SCRIPT> </TD> </TR> </TABLE> -----sample.php <?php //header("Content-type: text/html"); print "document.write(\"123456789012345678901234567890123456789012345678901234567890\")"; ?>

専門家に質問してみよう