Re: [js] 如何把另開視窗置中

看板Ajax作者 (Vearn)時間16年前 (2009/03/30 23:54), 編輯推噓2(205)
留言7則, 2人參與, 最新討論串4/4 (看更多)
我開新視窗都用這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

03/31 00:24, , 1F
謝謝;我又想通一關,所以動態產生程式的困擾沒了;不過
03/31 00:24, 1F

03/31 00:24, , 2F
你的 code 中有 50,100 這兩個常數,那又是怎麼回事呢?
03/31 00:24, 2F

03/31 08:02, , 3F
噢 如果你傳的值大於整個螢幕設定值,就把值各減50,100讓
03/31 08:02, 3F

03/31 08:03, , 4F
它別破表
03/31 08:03, 4F

03/31 11:36, , 5F
所以你開的視窗甚至可能超大,而超大還想置中...
03/31 11:36, 5F

03/31 16:51, , 6F
寬高是你傳的耶,只是預防而已,重點是top和left,你覺得
03/31 16:51, 6F

03/31 16:52, , 7F
還不夠中間就自已調整了
03/31 16:52, 7F
文章代碼(AID): #19qEihWQ (Ajax)
討論串 (同標題文章)
文章代碼(AID): #19qEihWQ (Ajax)