• ベストアンサー

このスクリプトの問題

<a href="javascript:void(0)" STYLE="text-decoration:none" onMouseOver="window.status='入り口';return true" onClick="window.open('flash.html','sub','width=650,height=500,scrollbars=no,resize=no')"> これは、ENTERを押したときにサブウィンドウにflash.htmlの内容が展開されるようにしたスクリプトです。ENTERを押したときにサブウィンドウが画面の中央(上下左右共に)くるように直したいのですが、どこをどう編集すればそれは、可能ですか?おしえてください。

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

  • ベストアンサー
noname#5841
noname#5841
回答No.3

全てをonClickに記述しなくてもよければ、以下のソースを実行してみてください。 ユーザーの環境によって、モニタ解像度が違うものにも対応してます。 MoveSub(wx,wy,sub) は、 MoveSub(開くウィンドウの横サイズ,縦サイズ,ファイル名) にしてあります。 <HTML> <HEAD> <SCRIPT Language="JavaScript"> <!-- function MoveSub(wx,wy,sub){ if (document.layers){ sx = screen.availWidth; sy = screen.availHeight; } if (document.all){ sx = screen.width; sy = screen.height; } x = (sx - wx) / 2; y = (sy - wy) / 2; subWin = window.open(sub,'sub','width='+wx+',height='+wy,scrollbars='no',resize='no'); subWin.moveTo(x,y); } // --> </SCRIPT> </HEAD> <BODY> <a href="javascript:MoveSub(650,500,'flash.html')" STYLE="text-decoration:none" onMouseOver="window.status='入り口';return true">入り口</a> </BODY> </HTML>

その他の回答 (2)

  • A__
  • ベストアンサー率47% (22/46)
回答No.2

ディスプレイのサイズが 1024 × 768 なら、 ポッブアップウインドウのサイズが 650 × 500 だから ポッブアップウインドウの左上の位置は、 1024/2+650/2, 768/2+500/2 つまり、 1024/2+325, 768/2+250 にすればいい。 <a href="javascript:void(0)" STYLE="text-decoration:none" onMouseOver="window.status='入り口';return true" onClick="xxx=window.open('flash.html','sub','width=650,height=500,scrollbars=no,resize=no');xxx.moveTo(screen.availWidth/2-325,screen.availHeight/2-250)">イリグチ</a> 大きなウインドウが動くのが嫌なら <a href="javascript:void(0)" STYLE="text-decoration:none" onMouseOver="window.status='入り口';return true" onClick="xxx=window.open('flash.html','sub','width=100,height=100,scrollbars=no,resize=no');xxx.moveTo(screen.availWidth/2-325,screen.availHeight/2-250);xxx.resizeTo(650,500)">イリグチ</a> とか。

  • zzzzzz
  • ベストアンサー率61% (70/113)
回答No.1

screenオブジェクト(window.screen)のwidthメンバ、heightメンバを使用すれば可能です。 このメンバが画面全体の大きさを保持しますので、 window.openの際に位置を計算すればよいわけです。

関連するQ&A