<a href="javascript:window.open ('${pageContext.request.contextPath }/', 'newwindow', 'height=100; width=400; toolbar= no; menubar=no; scrollbars=no; resizable=no; location=no; status=no;top=100;left=300')" >打开一个新窗口</a>
在页面中点击超级链接用window.open函数打开一个新的窗口时,原来的页面也刷新了,只有一个含有[object]的空白页面
原因:在超级链接的href中调用window.open函数时当前页面也会刷新为该函数的返回值,因为返回一个窗口对象,所以只能显示[object]
解决方法:使用javascript的void函数,该函数将使得任何被使用的函数返回undefined值,该值将不被浏览器显示
<a href="javascript:void(window.open ('${pageContext.request.contextPath }/', 'newwindow', 'height=100; width=400; toolbar= no; menubar=no; scrollbars=no; resizable=no; location=no; status=no;top=100;left=300'))" >打开一个新窗口</a>
注意:
1.在第三个参数中要用“,”来做为分隔符,否则后面的各个参数将不管用
2.任何没有返回值的函数都返回undefined
具体总结的各个属性参数如下:
window = object.open([URL ][, name ][, features ][, replace]]]])
URL:新窗口的URL地址
name:新窗口的名称,可以为空
featurse:属性控制字符串,在此控制窗口的各种属性,属性之间以逗号隔开。
fullscreen= { yes/no/1/0 } 是否全屏,默认no
channelmode= { yes/no/1/0 } 是否显示频道栏,默认no
toolbar= { yes/no/1/0 } 是否显示工具条,默认no
location= { yes/no/1/0 } 是否显示地址栏,默认no
directories = { yes/no/1/0 } 是否显示转向按钮,默认no
status= { yes/no/1/0 } 是否显示窗口状态条,默认no
menubar= { yes/no/1/0 } 是否显示菜单,默认no
scrollbars= { yes/no/1/0 } 是否显示滚动条,默认yes
resizable= { yes/no/1/0 } 是否窗口可调整大小,默认no
width=number 窗口宽度(像素单位)
height=number 窗口高度(像素单位)
top=number 窗口离屏幕顶部距离(像素单位)
left=number 窗口离屏幕左边距离(像素单位)
网页可见区域宽 document.body.clientWidth
网页可见区域高 document.body.clientHeight
网页可见区域宽(包括边线的宽) document.body.offsetWidth
网页可见区域高(包括边线的宽) document.body.offsetHeight
网页正文全文宽 document.body.scrollWidth
网页正文全文高 document.body.scrollHeight
网页被卷去的高 document.body.scrollTop
网页被卷去的左 document.body.scrollLeft
网页正文部分上 window.screenTop
网页正文部分左 window.screenLeft
屏幕分辨率的高 window.screen.height
屏幕分辨率的宽 window.screen.width
屏幕可用工作区高度 window.screen.availHeight
屏幕可用工作区宽度 window.screen.availWidth
因此,要使得新打开的窗口居中的话
<a href="javascript:void(window.open ('${pageContext.request.contextPath }/', 'newwindow', 'height=100; width=400; toolbar= no; menubar=no; scrollbars=no; resizable=no; location=no; status=no;top='+(window.screen.height-100)/2+';left='+(window.screen.width-400)/2))" >打开一个新窗口</a>