window.open()详解及浏览器兼容性问题

news/2024/11/23 0:32:11/
一、基本语法:
window.open(pageURL,name,parameters)
其中:
pageURL 为子窗口路径
name  为子窗口名字
parameters 为窗口参数(各参数用逗号分隔)

二、示例

<script type="text/javascript">window.open('page.html','newwindow','height=500,width=800,top=0,left=0,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no') 
</script>
page.html将在新窗体newwindow中打开,宽为800,高为500,距屏顶0象素,屏左0象素,

无工具条,无菜单条,无滚动条,不可调整大小,无地址栏,无状态栏。

各浏览器对window.open()的窗口特征sFeatures参数支持程度存在差异

各浏览器运行结果汇总:

上表中为各个浏览器对 features 各参数选项的支持程度,其中需要特殊说明的如下:

【标注1】:IE7 IE8 Firefox Chrome Safari 中,当"menubar"选项为"yes"时,默认不显示菜单栏,需要按ALT键后菜单栏才可显示;相反当 "menubar"选项为"no"时,即使按了ALT键也不会显示菜单栏。
【标注2】:Safari中,开启"location"选项与开启"toolbar"选项时显示效果一致。
【标注3】:IE6 IE8 Chrome 中,使用"top"和"left"定位,如果出现设定的的坐标值过大,弹出窗口将可能显示在屏幕可视范围外。
【标注4】:IE7 Firefox Safari Opera中,使用"top"和"left"定位,如果出现设定的的坐标值过大,窗口会自动调整"top"与"left"值,确保窗口正常显示在屏幕可视区域内。
【标注5】:Chrome Opera中,不支持在没有设定"width"与"height"值的情况下独立使用"left"和"top",此时"left""top"设定值均不生效。
【标注6】:Chrome 中,不支持在没有设定"left"和"height"值的情况下独立使用"width"与"height",此时"width" "height"设定值均不生效。结合【标注5】说明可知,在Chrome中弹出窗口不论想要设定宽高或位置中的一个或几个值,都必须将他们全部赋值,否则都将不起作用。
【标注7】:Firefox Chrome 中,地址栏会始终显示。
【标注8】:Opera 中,地址栏默认不显示,但可以点击页面最上方横条使他显示出来,设置"location=yes"后地址栏会自动显示出来。
【标注9】:Chrome Opera 中,不论"menubar"值如何设置,永远不显示菜单栏。
【标注10】:Firefox Safari Chrome Opera中无论"resizable"值如何设置,窗口永远可由用户调整大小。
【标注11】:Safari Chrome 中,在页面存在滚动条的情况下,无论"scrollbars"值如何设置,滚动条始终可见。
【标注12】:IE7 在 Windows XP SP3 系统中默认可以支持"status "参数隐藏状态栏;而在 Windows Vista系统默认环境下不支持"status"参数,状态栏始终可见.这与两个系统中默认的 IE7 小版本号不同有关,前者版本号较低,后者版本号较高。
【标注13】:Firefox 中,无论"status"值如何设置,状态栏始终可见,而 Chrome Opera中,则与前者相反,状态栏始终不可见。
【标注14】: Chrome Opera 中,无论"toolbar"值如何设置,始终不显示工具栏。
综上所述,可见window.open方法的sFeatures参数支持程度存在巨大差异,使用时须谨慎为之。

                                                                                                             摘自:http://www.w3help.org/zh-cn/causes/BX1053#


一般我们用window.open打开页面都需要居中显示,示例代码

var width=800;  //弹出窗口的宽度;
var height=500; //弹出窗口的高度;
var top = (window.screen.availHeight-height)/2; //窗口的垂直位置;
var left = (window.screen.availWidth-width)/2;  //窗口的水平位置;
window.open('page.html','newwindow','height='+height+',width='+width+',top='+top+',left='+left+',toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no')

availHeight和height的区别

window.screen.width 返回当前屏幕宽度(分辨率值)
window.screen.height 返回当前屏幕高度(分辨率值) 
screen.availWidth,screen.availHeight是指除去taskbar(任务栏)以外的长宽



http://www.ppmy.cn/news/409989.html

相关文章

centos7安装图形化界面图文详解

欢迎关注微信公众号&#xff1a;【 全栈攻略 】 centos7没有图形化操作可能对很多人来说都不太习惯&#xff0c;下面我们来为centos7安装图形化界面&#xff0c;本文以安装 GNOME 图形化为例 写在安装前&#xff1a; 如果你的centos7是最小化安装的那默认都是不带X WINDOWS的…

Window7升级 PowerShell

一、查看当前PowerShell版本 1、命令行输入powershell 2、命令行输入get-host 二、下载新版PowerShell&#xff08;下载说明&#xff1a;https://docs.microsoft.com/zh-cn/powershell/scripting/install/installing-windows-powershell?viewpowershell-6&#xff09; 1、5…

Linux启动、关闭x-window

这是因为Linux操作系统有六种不同的运行级&#xff08;run level&#xff09;&#xff0c;在不同的运行级下&#xff0c;系统有着不同的状态&#xff0c;这六种运行级分别为&#xff1a; 0&#xff1a;停机&#xff08;记住不要把initdefault 设置为0&#xff0c;因为这样会使…

安装win7 64位系统时发生错误:File: \windows\system32\winload.efi

描述发生的问题&#xff1a; 1.当前系统环境&#xff1a;Window 10 64位 2.我要安装的系统&#xff1a;Window 7 64位 3.安装程序GHOST已经安装完&#xff0c;重启后&#xff0c;发生了错误&#xff0c;如图 发生错误的程序路径&#xff1a;File: \windows\system32\winload.e…

JS 安全随机数 window.crypto及其兼容性

在JS中经常使用Math.Random|()函数来产生随机数&#xff0c;但这个函数产生的随机数并不具有真正的随机性&#xff0c;而且加密型不够强。因此在特定的需要加密性强的安全随机数时&#xff0c;可以使用JS提供的windows.crypto来生成随机数。     Window.crypto只读属性返回…

Xmanager7中文版(免注册码) 附安装教程

Xmanager7中文版 是一款方便易用且功能强大远程桌面管理工具&#xff0c;该软件能够完美在在windows平台下连接远程服务器进行管理操作&#xff0c;是市场上先进的PC X服务器。除此之外&#xff0c;这款软件也支持一键连接到unix、linux服务器系统进行文件的管理操作&#xff0…

MyEclipse中没有支持tomcat7.x时候怎么使用Tomcat7

我使用的是32位的eclipse3.3&#xff0c;32位的jdk1.6&#xff0c;32位的Tomcat7.0&#xff0c;并且为eclipse装了插件版本的MyEclipse5.1。成功安装好上述软件之后再eclipse界面通过tomcat的图标启动tomcat服务器的时候发现不能成功启动&#xff0c;网上查了资料之后发现是因为…

Windows 7 Sp1 x64 无法安装英文语言包(已解决)

原文地址为&#xff1a; Windows 7 Sp1 x64 无法安装英文语言包&#xff08;已解决&#xff09; Windows 7 Sp1 x64 无法安装英文语言包&#xff08;已解决&#xff09; 旗舰版window7 x64,升级到SP1后,无法安装英文语言包 ghost了一个中文版的64位的旗舰版的window7 SP1.想…