一、基本的语法:
window.open(pageURL,name,parameters)
当中:
pageURL 为子窗体路径
name  为子窗体名字
parameters 为窗体參数(各參数用逗号分隔)

二、演示样例

  1. <script type="text/javascript">
  2. window.open('page.html','newwindow','height=500,width=800,top=0,left=0,
  3. toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no')
  4. </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打开页面都须要居中显示,演示样例代码

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

availHeight和height的差别

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

欢迎增加JAVA技术交流群:74955800

window.open()具体解释及浏览器兼容性问题的更多相关文章

  1. window.open()详解及浏览器兼容性问题示例探讨

    这篇文章主要介绍了window.open()的使用及浏览器兼容性问题方面的知识,感兴趣的朋友可以参考下   一.基本语法: window.open(pageURL,name,parameters) 其 ...

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

    一.基本语法:window.open(pageURL,name,parameters)其中:pageURL 为子窗口路径name  为子窗口名字parameters 为窗口参数(各参数用逗号分隔) 二 ...

  3. 从零开始的全栈工程师——html篇1.8(知识点补充与浏览器兼容性)

    知识点补充 一.浏览器的兼容问题(关于浏览器的兼容问题 有很多大佬已经解释的很清楚了 这个得自己百度去多花点时间去了解 这里咱们只说一下前面的漏点) 浏览器兼容性问题又被称为网页兼容性或网站兼容性问题 ...

  4. 浏览器兼容性-JS篇

    总结一下平时遇到的浏览器兼容性问题,本篇关于JS. 1.事件绑定 兼容写法: function add(obj,event){ if (obj.addEventListener) { obj.addE ...

  5. CSS3与页面布局学习笔记(八)——浏览器兼容性问题与前端性能优化方案

    一.浏览器兼容 1.1.概要 世界上没有任何一个浏览器是一样的,同样的代码在不一样的浏览器上运行就存在兼容性问题.不同浏览器其内核亦不尽相同,相同内核的版本不同,相同版本的内核浏览器品牌不一样,各种运 ...

  6. javascript的window.ActiveXObject对象,区别浏览器的方法

    (window.ActiveXObject)的作用,用来判断浏览器是否支持ActiveX控件,如果支持ActiveX控件,我们可以利用var xml=new ActiveXObject("M ...

  7. CSS 多浏览器兼容性问题及解决方案

    兼容性处理要点1.DOCTYPE 影响 CSS 处理 2.FF: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 ...

  8. 浏览器兼容性小整理和一些js小问题(后面会继续更新)

    最近在啃jQuery的源码,估计会啃到很多浏览器兼容性的问题,所以整理一下 1,IE下的内存泄露. 在IE中不在DOM树中的独立节点有javascript变量引用它的时候不会被回收. 解决:手动将该j ...

  9. css不同浏览器兼容性调试 --- 转自: [http://wo.115.com/?ct=detail&id=31733&bid=1018841]

    css不同浏览器兼容性调试 IE6.0,IE7.0与Firefox的CSS兼容性问题1.DOCTYPE 影响 CSS 处理 2.FF: div 设置 margin-left, margin-right ...

随机推荐

  1. FastReport 数据过滤

    FastReport 数据过滤 在DataBind 的 OnBeforePrint 设置条件   例:显示 大于0 的数据 procedure MasterData1OnBeforePrint(Sen ...

  2. lua中打印所以类型功能实现table嵌套table

    lua中打印所以类型功能实现 本人測试 number.string.bool.nil.table嵌套table.userdata没问题 共享一下有什么问题请拍砖 代码例如以下 cclog = func ...

  3. Determine whether an integer is a palindrome. Do this without extra space.

    看到这个题目的时候,首先不认识 Determine这个单词.英文不好没办法,查了下是确认的意思,然后不懂 palindrome这个单词, 查了下是回文的意思. 问题是 回文是个什么东西,官方解释: A ...

  4. PEM文件格式具体解析

    PEM文件格式存档 Author:Roson sun sunxiao@tomonline-inc.com Time:2006-4-11 1.  描写叙述: Openssl使用PEM(RFC 1421- ...

  5. 关于android的nfc问题

    最近在研究android的nfc问题 首先再网上有很多关于android nfc 读写的问题,但是大多数都是关于Mifare Classic类型卡的读写,我百试不得骑解,于是自己写了一些程序供大家参考 ...

  6. uvc摄像头代码解析5

    8.初始化uvc控制 8.1 重要结构体 struct uvc_control { //uvc控制 struct uvc_entity *entity; //uvc实体 struct uvc_cont ...

  7. HDU 4350 Card

    打表找规律,比赛应付了一下,其实还可以把内存再优化一半掉,下面的0都是手动填充的,可以优化掉 题意: T个测试数据 下面52个数字表示 从栈顶到栈底的52个数 n l r表示 从栈顶下数 [l,r] ...

  8. jquery如何在加载完iframe的内容后才进行下一步操作

    为iframe添加onload事件 ie使用attachEvent("onload",function(){}) firefox.chrome使用addEventListener( ...

  9. ufldl学习笔记和编程作业:Feature Extraction Using Convolution,Pooling(卷积和汇集特征提取)

    ufldl学习笔记与编程作业:Feature Extraction Using Convolution,Pooling(卷积和池化抽取特征) ufldl出了新教程,感觉比之前的好,从基础讲起.系统清晰 ...

  10. 14.2.1 MySQL and the ACID Model

    14.2 InnoDB Concepts and Architecture InnoDB 概念和结构体系: 14.2.1 MySQL and the ACID Model 14.2.2 InnoDB ...