よく、リンクをクリックすると新規に親窓で開くページがあります
文末はその小窓を画面中央に開く、どこかでみたサンプルです。
ここで、Excel2003のヘルプ窓のように、次のように動作させたいです。
(1)高さはクライアント画面の高さを取得して縦幅一杯に(例:768、600px等可変に)
(2)幅は固定値(例:200px等と指定)
(3)場所は右端(各クライアントの画面の幅-小窓幅(例:200px)=小窓の左上角)
(4)元窓(親窓)の幅はそのまま
(5)ブラウザ依存せず動作する方が嬉しいです
まとめると、リンクを開くと画面右端ピッタリに次のような小窓が現れるイメージです。
┌────┬─┐
│親窓 │小│
│ │窓│
│ │ │
└────┴─┘
よろしくお願いします。
<html>
<head>
<script language="javascript" type="text/javascript">
function winOpen(url,wid,hei,wname){
window.name = wname;
sw = screen.availWidth;
sh = screen.availHeight;
wl = (sw-wid)/2;
wt = (sh-hei)/2;
about = window.open (url,"SmallWindow","width=" + wid + ",height=" + hei + ",,toolbar=no,location=no,directories=no,menubar=no,resizable=yes,scrollbars=yes,left=" + wl + ",top=" + wt);
}
</script>
</head>
<body>
<a href="#" target="new" onClick="winOpen('../komado.html','540','420','dot'); return false;">
クリックで小窓を開く
</a>
</body>
</html>
No.1ベストアンサー
- 回答日時:
あまり要望を満たしていないかもしれませんが・・・
・JS部
function openNewWin(url, name){
window.open(url, name, 'status=yes,resizable=yes,top=0,left='+getScreenHEIGHT()/2+',width='+getScreenWIDTH()/2+',height='+getScreenHEIGHT());
}
//スクリーンサイズから画面サイズ取得(高さ)
function getScreenHEIGHT(){
if(!!window.screen){
//N4,N6,Moz,IE,共用
return screen.height-80;
}else{
//上記以外
return null;
}
}
//スクリーンサイズから画面サイズ取得(幅)
function getScreenWIDTH(){
if(!!window.screen){
//N4,N6,Moz,IE,共用
return screen.width-12;
}else{
//上記以外
return null;
}
}
・HTML呼び出し部
<a href="#" target="new" onClick="openNewWin('komado.html','a'); return false;">
yukio1さん、貴重なレスありがとうございます。
早速確認させていただきました。
縦方向については、画面の上辺、下辺にビシっとあいました。
横方向については、なぜか画面のおおむね中央のやや
右に表示されます。
ちなみに、1600x1200なんですが・・・
ここは、どこを書き換えたら上辺、下辺のように
びしっと決まるでしょうか・・
すみません、現状でも十分感動的ですが、もしよろしければ補足的にご教示いただけますと幸いです。
まずは御礼申し上げます。
No.2
- 回答日時:
window.open()関数の第三パラメータを少々いじってやれば可能ではないでしょうか。
現在の第三パラメータの設定は、分割してやると、
status=yes,
resizable=yes,
top=0,
left='+getScreenHEIGHT()/2+',
width='+getScreenWIDTH()/2+',
height='+getScreenHEIGHT()
こうですね。
関係してくるのはtop以下4つです。
topは新しくウィンドウを開く開始位置上辺、
leftは同ウィンドウを開く開始位置左辺、
widthは同ウィンドウの横幅、
heightは同ウィンドウの縦幅です。
上辺と縦幅は問題ないとのことですので、topとheightは変更せずに、
左開始位置のleftと横幅のwidthの値を少々変更してやればよいのではないでしょうか。
ちなみにgetScreenHEIGHT()で取得できる値は画面の縦幅、おそらく1200が取得できるはずです。
getScreenHEIGHT()/2としているので、litton101さんの環境下では、600をセットして
いることになると思います。
getScreenWIDTH()も同様に横幅を取得しているので、1600が入ってくるはずなので、
/2しているので、widthは800ということになっているはずです。
と、いった感じの補足でよいでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript 画像の表示位置 3 2022/12/23 08:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラミング初心者です
-
GIFアニメの動きが止まってしま...
-
特定の時間帯だけ有効にする
-
新しいウィンドゥを最大化で立...
-
ジャバスプリクトでフレームの...
-
Javascriptで小窓の設定
-
<a href="#" …>の意味を教えて...
-
別ファイルのfunctionの読み込み方
-
JavascriptとJqueryを混在し記述
-
Dreamweaver で 外部JSを読み込...
-
pythonのWebスクレイピングでfi...
-
条件分岐で、読み込む外部スク...
-
Safariで<iframe>のinnerHTMLを...
-
bodyにidをつける理由は何ですか?
-
JavaScriptでiframeの内容を「...
-
function の return 値を表示し...
-
リンクをクリックすると文字が...
-
jqueryでのkeydownイベント発生...
-
ウィンドウ名の設定
-
擬似フレーム
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
新しいウィンドゥを最大化で立...
-
SQLのWHEREで全てを質問する方法
-
小窓を表示する時に、必ず右上...
-
window.openでフルスクリーン表...
-
htmlファイルを開いた時の画面...
-
外部からのjs呼び出しについて。
-
町内会での不倫
-
IF文で該当の処理を通らない
-
Canvasを使って描画して面積取得
-
window.openの後にエンコードを...
-
色の指定で配列を使いたい
-
文字をクリックすると 小窓が開く
-
エクセルファイルをIE のウィン...
-
サブウインドウの高さを自動で...
-
window.open オートコンプリー...
-
HP作成の小窓リンクを作るには?
-
小窓を開くJSで、高さを調節し...
-
javascriptを別ファイルにして...
-
ポップアップ広告みたいな…
-
リンク先の別ウインドウをスク...
おすすめ情報