作者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