作者vearn05 (Vearn)
看板Ajax
標題Re: [js] 如何把另開視窗置中
時間Mon Mar 30 23:54:18 2009
我開新視窗都用這function,你試試
url:你的頁面
nW:視窗寬
nH:視窗高
Scor:'1'=要ScrollBar '0'=不要
function makeNewWindow(url,nW,nH,Scor)
{
var nLeft, nTop, hWnd;
var ScorDesc="yes";
if ((nW > screen.width) || (nH > screen.height)) {
nW=screen.width-50;
nH=screen.height-100;
}
if (Scor=='0'){
ScorDesc="no";
}
nLeft = (screen.width - nW) / 2;
nTop = (screen.height - nH) / 2;
hWnd = window.open(url, "_blank",
"width="+nW+",height="+nH+",resizable=yes,scrollbars=" + ScorDesc);
hWnd.moveTo(nLeft,nTop);
hWnd.focus();
}
※ 引述《HuangJC (吹笛牧童)》之銘言:
: ※ [本文轉錄自 PHP 看板]
: 作者: HuangJC (吹笛牧童) 看板: PHP
: 標題: [請益] 如何把另開視窗置中
: 時間: Sun Mar 29 19:43:25 2009
: 如題,我是想問 JavaScript 的做法
: 但找到 Java 板,找不到 JavaScript 板
: 因此先發這邊,看能不能轉去另一個版面
: <input type='submit' value='顯示XX' onclick='window.open(....)' />
: 如上,這是我想到做法的外框
: 當然如果 PHP 這個 server side 語言能辦到,那就太感謝了
: 上面的 code 會產生一個按鍵,按下後執行 onclick 裏的 JS 語法
: window.open 可以給一些參數,其中包含新視窗的 left,top
: 可是我不知道 user 的視窗有多大,必需用變數,用計算來做
: 因此困難就出來了
: onclick='function(){.....}'
: 如果可以用這種語法,也許我還可以包一些計算
: 可惜的是我失敗了
: PHP 在 server side 有沒有什麼武器可以幫忙這些事呢?
: 以上,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.191.194
1F:推 HuangJC:謝謝;我又想通一關,所以動態產生程式的困擾沒了;不過 03/31 00:24
2F:→ HuangJC:你的 code 中有 50,100 這兩個常數,那又是怎麼回事呢? 03/31 00:24
3F:→ vearn05:噢 如果你傳的值大於整個螢幕設定值,就把值各減50,100讓 03/31 08:02
4F:→ vearn05:它別破表 03/31 08:03
5F:推 HuangJC:所以你開的視窗甚至可能超大,而超大還想置中... 03/31 11:36
6F:→ vearn05:寬高是你傳的耶,只是預防而已,重點是top和left,你覺得 03/31 16:51
7F:→ vearn05:還不夠中間就自已調整了 03/31 16:52