外部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↓ペコ
お礼
ありがとうございますm(_ _*)m まず自分の画面上での位置を取得してみようと思いまして、やってみたんですが上手くできませんでした。(^^; (あ、これは私の知識不足によるところが大きいんです) ここでのx,yは変数ってことですよね? お暇な時でいいので、また教えてもらえたらと思います。自分でも引き続きあれこれやってみます。
補足
こんばんは! 以下の感じで概ね意図通りに出させるようになりました!ducklingさんのおかげで難しく考えることなく出来たような気がします。ありがとうございました。 でも、その時々によって子ウィンドウの出る場所が微妙にズレてしまうんですけどね。(^^; function wOpen(url,targetName,offsetx,offsety,width,height){ var agt = navigator.userAgent.toLowerCase(); var win = (agt.indexOf('win') != -1); // Windows var mac = (agt.indexOf('mac') != -1); // Macintosh var mywinx = null; var mywiny = null; if(document.all){ mywinx = window.event.screenX; mywiny = window.event.screenY; } else if(document.layers || document.getElementById ){ mywinx = screenX; mywiny = screenY; } if (win) { // Windows if(document.all){ //e4,e5,e6 var setx = mywinx + offsetx; var sety = mywiny + offsety; } else if(document.layers || document.getElementById ){ //n4,n6,n7,m1,o6 var setx = mywinx + (offsetx+150); var sety = mywiny + (offsety+80); } } else if (mac) { // Macintosh if(document.all){ var setx = mywinx + (offsetx-70); var sety = mywiny + offsety; } else if(document.layers || document.getElementById ){ var setx = mywinx + (offsetx+150); var sety = mywiny + (offsety+60); } } //サブウインドウを開く var para ="" +" left=" +setx +",screenX=" +setx +",top=" +sety +",screenY=" +sety +",toolbar=" +0 +",location=" +0 +",directories=" +0 +",status=" +0 +",menubar=" +0 +",scrollbars=" +0 +",resizable=" +1 +",innerWidth=" +width +",innerHeight=" +height +",width=" +width +",height=" +height subWin=window.open(url,targetName,para); subWin.focus(); }