ポップアップブロック付きのブラウザ(IE8)で、window.open

このQ&Aのポイント
  • ポップアップブロックに引っかかってしまい、2つの小窓が出せません。
  • エンターページをクリックすると、window.openが実行され2つの小窓が立ち上がるというのが理想です。
  • IE8のブラウザでwindow.openを使用してポップアップウィンドウを作成する際、ポップアップブロックに阻まれて2つの小窓が表示されません。
回答を見る
  • ベストアンサー

ポップアップブロック付きのブラウザ(IE8)で、window.open

ポップアップブロック付きのブラウザ(IE8)で、window.openをつかって小窓を二つ出したい。 表題の通り、ポップアップブロックに引っかかってしまい、2つの小窓が出せません。 現状は、1つだけ小窓が立ち上がる状態です。 理想のタイミングは、エンターページをクリックすると、window.openが実行され 2つの小窓が立ち上がるというのが理想です。 以下に現在のスクリプトをコピペ致します。 <script language="JavaScript"> moveTo(0,0); resizeTo(screen.width,screen.height); var g_pop01; var g_pop02; function open_pop(){ var w_Width1 = 280 var w_Width2 = 567 var w_Height1 = 540 var w_Height2 = 540 var w_space = 22 var x1 = (screen.availWidth - w_Width1 - w_Width2 - w_space)/2; var x2 = x1 + w_Width1 + w_space var y1 = (screen.availHeight - w_Height1)/2; var y2 = (screen.availHeight - w_Height2)/2; g_pop01 = window.open("left2.swf?nowX="+x1+"&nowY="+y1,"flash_pop1",'toolbar=0,menubar=0,scrollbars=no,resizable=no,width='+w_Width1+',height='+w_Height1+',left='+x1+',top='+y1); g_pop02 = window.open("right2.swf?nowX="+x2+"&nowY="+y2+"&guideX="+x1+"&guideY="+y1,"flash_pop2",'toolbar=0,menubar=0,scrollbars=no,resizable=no,width='+w_Width2+',height='+w_Height2+',left='+x2+',top='+y2); } </script> </head> <body topmargin=0 leftmargin=0 marginwidth=0 marginheight=0 scroll="no" bgcolor="#000000"> <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <form name="frm2"> <input type="Hidden" name="fov" value="0"> </form> <tr> <td align="center" valign="middle"> <table width="484" height="260" border="0"> <tr> <td><img src="img/logo_484x260_2.png" border="0" usemap="#Map" LANGUAGE=javascript onClick="open_pop()"> <map name="Map"> <area shape="rect" coords="4,2,480,254" href="index.html"> </map></td> </tr> </table> </td> </tr> </table> </body> </html>

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

  • ベストアンサー
回答No.2

ちょっと意味不明ですね。 >現状は、1つだけ小窓が立ち上がる状態です ブロックにひっかかると、一つも起動しなくなります。POPUPで起動できるように例外に入っていませんか?? で、別名のウインドウを起動するようにすれば言い訳です。 http://msdn.microsoft.com/en-us/library/ms535873(VS.85).aspx http://msdn.microsoft.com/en-us/library/ms536651(VS.85).aspx の属性で"name"がありますよね。違うウインドウに表示させる。 Window.open でなくて、CSSを使って、 オブジェクトの表示・非表示で行ったほうが無難ですね。 それと余計なことですが 「<script language="JavaScript">」 は古すぎるので、新しい指定の仕方を行ってください。たぶん古いテンプレートを見てしまったのでしょう(バージョンでJavaScript1.2までの指定ですね)。 id=a style="display:none" a.style.display = "block"; 目的は達成できると思いますよ。 また、alertでもいいのでは?

onattou
質問者

お礼

言葉足らずですみません。。 bakakyatap様のおっしゃることを参考に試行錯誤していたら無事に思っていたもんを作り上げることができました! ありがとうございます!

その他の回答 (1)

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

>ポップアップブロックに引っかかってしまい、2つの小窓が出せません。 ご自身で書いている通り、ポップアップブロックされているので 開けないのでしょ?それだけポップアップはつかっちゃだめだということです

関連するQ&A

  • JavaScriptでポップアップを中央に。

    最近JavaScriptを始めた者です。 ポップアップをアドレスバーとステータスバーを非表示にした状態で中央に表示させたいのですが、以下のコードでは、リンクをクリックしても反応がありません。 function openWinCenter(url,id,w,h,scrollFlag) { x = (screen.width - w) / 2; y = (screen.height - h) / 2; if(scrollFlag){ if(navigator.appName== "Microsoft Internet Explorer"){ w=w+16; } window.open(url,id,"screenX="+x+",screenY="+y+",left="+x+",top="+y+",width"+w+",height="+h+",scrollbars=yes,location=no,status=no"); }else{ window.open(url,id,"screenX="+x+",screenY="+y+",left="+x+",top="+y+",width="+w+",height="+h+",scrollbars=no,location=no,status=no"); } } どこを修正したらいいのか教えてください、よろしくお願いします。

  • IEではうまく行くのですが他のブラウザでも表示できるように…

    下記のようにしたのですが、IEではうまくゆくのですが、 他のブラウザではできません。 同じようにするにはどのように調整したらよいのか教えてください。 <DIV> <SPAN style="overflow:hidden;width:30px"> <TABLE border="1" width="100%"> <TR bgcolor="silver"><TD>A</TD></TR> </TABLE> </SPAN> <SPAN id="title" style="overflow-y:scroll;overflow-x:hidden;width:150px;"> <TABLE border="1" style="table-layout:fixed;width:150px"> <TR bgcolor="silver"><TD>C</TD><TD>D</TD><TD>E</TD></TR> </TABLE> </SPAN> </DIV> <!--本体部分--> <DIV> <SPAN id="fixedcols" style="overflow:hidden;overflow-x:scroll;width:30px;height:80px;"> <TABLE border="1" style="width:100%" bgcolor="#ffffcc"> <TR><TD>F</TD></TR> <TR><TD>K</TD></TR> <TR><TD>P</TD></TR> <TR><TD>U</TD></TR> </TABLE> </SPAN> <SPAN id="maincols" style="overflow:scroll;width:150px;height:80px" onscroll="fnc_scroll()"> <TABLE border="1" style="table-layout:fixed;width:150px"> <TR><TD>H</TD><TD>I</TD><TD>J</TD></TR> <TR><TD>M</TD><TD>N</TD><TD>O</TD></TR> <TR><TD>R</TD><TD>S</TD><TD>T</TD></TR> <TR><TD>W</TD><TD>X</TD><TD>Y</TD></TR> </TABLE> </SPAN> </DIV> <SCRIPT language="javascript"> <!-- function fnc_scroll(){ document.all.item('fixedcols').scrollTop=document.all.item('maincols').scrollTop; document.all.item('title').scrollLeft=document.all.item('maincols').scrollLeft; } --> </SCRIPT>

  • IE以外のブラウザで隙間ができる

    お世話になっております。 上テーブルと下テーブルを隙間なく配置したいのですがIE6,7以外のブラウザだと3pxくらいの隙間ができてしまいます。厚かましいお願いで恐縮ですが、下記タグをチェックしていただけないでしょうか…。 <table width="758" height="160" border="0" cellpadding="0" cellspacing="0" background="image/gazou.jpg" style="background-repeat:no-repeat"> <tr><td height="30">&nbsp;</td></tr> <tr><td>ここに文字を入れています</td></tr> <tr><td height="30">&nbsp;</td></tr> </table> <div class="test"><br> <table width="758" border="0" cellpadding="0" cellspacing="0"> <tr><td>ここも文字</td></tr> </table> </div> 上のテーブルには背景画像を指定しており、下テーブル部分に色をつけたいのでdivを使いCSSを適応させています。(デザイン上、下テーブル背景に色をつけるのではダメなので) これが問題なのかと思い、divタグを消してみたりしましたがだめでした。 div"test"のCSSは .test{ margin:0px; padding:0px; background-color:#333333; border-bottom:solid 1px #999999; width:758px; height:262px; } としています。 本当に厚かましいお願いで恐縮ですが、ご教授いただけるととても助かります。どうぞよろしくお願いします。

    • ベストアンサー
    • HTML
  • DIVで同一ページ内にポップアップってできる??

    普通ポップアップをするときには別ウィンドウを立ち上げますが、DIVを使ってリンク元があるhtmlに別のhtmlを立ち上げることは可能でしょうか?? 画像のポップアップを同一ページに立ち上げるポップアップは既に手元にあります。 それを立ち上げるのを画像ではなくhtmlにしたいんです。 ----ソース---- 【HTML】 <div id="pWindow" style="position:absolute; visibility:hidden; width:100%; height:100%;"> <table style="width:100%; height:100%;" border="0" cellspacing="0" cellpadding="0"> <tr><td align="center" valign="middle"> <table style=" background-color:#FFF; border:1px solid #000;" border="0" cellspacing="15" cellpadding="0"> <tr><td align="center" valign="middle"> <img src="img/loading.gif" width="400" height="300" id="lPhoto"> </td></tr> <tr><td align="center" valign="middle"> <a href="javascript:cls()"><img src="img/close.gif" width="53" height="17" border="0"></a> </td></tr> </table> </td></tr> </table> </div> 【JavaScript】 //拡大画像を表示する function pwinOpen(imgSrc){ var lgPhoto=document.getElementById('lPhoto'); lgPhoto.src = imgSrc; var pWin=document.getElementById('pWindow'); pWin.style.visibility = 'visible'; } //拡大画像を閉じる function cls(){ var pWin=document.getElementById('pWindow'); pWin.style.visibility = 'hidden'; var lgPhoto=document.getElementById('lPhoto'); lgPhoto.src = "img/loading.gif"; } 分かる方、お忙しいところ申し訳ないんですがご教授ください!!

  • webbrowserに関する質問です

    Webbrowserをしようしてリンク先をクリックしたいのですがどのようにすれば良いですか? だれか教えてください。 ↓”あああ”の部分をクリックしたいです。 <script language="javascript"> function openJmsg(url){ leftPos = 0; if(screen) { leftPos = screen.width-640 } w = window.open(url,"jmsg","status=no,toolbar=no,resizable=yes,scrollbars=yes,height=666,width=629,left="+leftPos+",top=0"); // return false; } function openETrade(url){ leftPos = 0; if(screen) { leftPos = screen.width-640 } w = window.open(url,"ETrade","status=no,toolbar=no,resizable=yes,scrollbars=yes,height=666,width=629,left="+leftPos+",top=0"); // return false; } </script> </head> <body> <table border="0" cellspacing="0" cellpadding="0" width="400" align="center"> <tr> <td> <table border="0" cellspacing="0" cellpadding="0" width="100%" style="margin-top:7px;"> <tr valign="top"> <td> <img src="/bsite/img/header_logo_backupsite.gif" width="211" height="19" border="0" alt="サイト"> </td> <td align="right"> <a href="/bsite/member/logout.do">ログアウト</a> </td> </tr> </table> <br> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tr valign="top"> <td width="48%"> <table border="0" cellspacing="2" cellpadding="0" width="100%"> <tr><td bgcolor="#E7E4F8"><a href="/bsite/price/search.do" class="wlink"><div style="margin:2 0 1 6;">ああああ</div></a></td></tr> ↓これでできませんでした。 kchk = UserForm3.web1.Document.Links(0).innerHTML If kchk <> "あああ" Then MsgBox "ハイパーリンク「あああ」の選択に失敗しました。" Exit Sub End If enchk = 0 UserForm3.web1.Document.Links(2).Click Call 読み込み終了確認

  • window,open

    ★=window.open("▲","☆","■") で★と☆がウィンドウの名前と書いてあったのですが 区別がわかりません これは開いたウィンドウの名前なのでしょうか? それともこのスクリプトがあるウィンドウをさすのでしょうか? あとウィンドウの名前のつけ方も教えていただけたら うれしいです 具体的には newWin=window.open("control,html","newWIn","width =240.height=120"); と書いてありました

  • window.openについて

    window.openを使って新しいウインドウを開きたいと思い質問させていただきます。 現在、 ---------------------------------------------------------------- <script type="text/javascript"> <!-- function w_opn() { newWin = window.open("abc.html","","width=200,height=300"); win.moveTo(0,0); } // --> </script> そして、BODY内に <a href="javascript:w_opn()">開く</a> --------------------------------------------------------------- というふうに作成しています。 この方法だと、リンク元が複数ある場合、HEAD内のJavaScriptも複数記述しないといけないと思うのですが、これをひとつのJavaScriptで制御したいのです。 どなたかご教授願えませんか?参考になるサイトのURLでも構いません。

  • window.openについて。

    初歩的な質問で申し訳ありません。 ★<script> function openWin(filename){ newWin = window.open(winname + ".html", "", "width=300, height=200, location=no, menubar=no, toolbar=no,resizable=yes"); } </script> ★<a href="JavaScript:openWin('pr00001')">PR00001</a> ・・・という二つのパーツ(★)があるのですが ここで分からないことがあります。 『function openWin(filename)』の『filename』にpr00001というhtmlファイルを埋め込む・・というのは理解できるのですが最初のパーツにある『newWin = window.open(winname + ".html"・・・』の中の『winname + ".html"』とは何を指しているのでしょうか・・・・。 大変申し訳ありませんがご指導お願いいたします。

  • 入れ子にしたテーブルをheight100%にする

    お世話になります。 以下のソースで、table2の高さを100%にしたいです。 この書き方では、firefoxではうまく表示できるのですが、 IEではだめでした。どこがいけないのでしょうか?? ---------------------------------- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <style type="text/css"> <!-- html {height:100%;} body {height:100%;} .th100 {height:100%;} --> </style> </head> <body> <table width="600" border="1" cellpadding="0" cellspacing="0" class="th100"> <tr> <td width="300" rowspan="2"> 長いテキスト </td> <td height="50"><table width="300" height="50" border="0" cellpadding="0" cellspacing="0" bgcolor="#000000"> <tr> <td>table1</td> </tr> </table></td> </tr> <tr> <td><table width="300" border="0" cellpadding="0" cellspacing="0" bgcolor="#999999" class="th100"> <tr> <td>table2</td> </tr> </table></td> </tr> </table> </body> </html>

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

専門家に質問してみよう