作者MrMarcus (请勿忘记密码)
看板Ajax
标题Re: [js] 如何把另开视窗置中
时间Sun Mar 29 20:22:11 2009
※ 引述《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 有没有什麽武器可以帮忙这些事呢?
: 以上,谢谢
如果你指的「置中」是相对於整个萤幕,可以使用screen物件来取得
使用者萤幕的解析度。可以使用以下:
screen.width 萤幕宽度
screen.availWidth 萤幕宽度,但去除Windows工具列的宽度
screen.height
screen.availHeight
有了萤幕宽度与高度,配合要开启的视窗的宽度与高度,就可以
计算出视窗要开在哪个座标看起来会在萤幕正中央了。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.64.235
1F:推 HuangJC:我曾把 code 写在子视窗中,结果是子视窗先出现再移动.. 03/29 20:24
2F:→ HuangJC:如果我要在母视窗中先算好的话,我想用 function(){} 03/29 20:24
3F:→ HuangJC:这个好像叫 closure function;但 onclick 中能用吗? 03/29 20:25
4F:推 HuangJC:谢谢;我好像太坚持了,那就拆开来写 XD ; 坚持的原因是, 03/29 20:28
5F:→ HuangJC:code 是别人的,我只做小修;因此会想把修改'挤在一起' 03/29 20:28
6F:→ HuangJC:但如果无法挤在一起...脑袋活一点也不是难事 :) 03/29 20:29
7F:推 HuangJC:可喜可贺,写出来了 XD 03/29 21:06
8F:推 HuangJC:最後我避不了使用了动态产生程式这样的技巧,但同事曾批评 03/29 21:59
9F:→ HuangJC:另一位同事败在这里;因为太难维护..尽量不要用.. 03/29 22:00