window.open()参数及浏览器兼容

window.open() 用于新开一个浏览器窗口、浏览器新开标签页、查找已命名的窗口

  • 语法
    window.open(URL,name,specs,replace)
    URL 页面路径
    name 窗口命名
    specs 参数
    参数说明

  • 浏览器兼容
    在这里插入图片描述
    上表中为各个浏览器对 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参数支持程度存在巨大差异,使用时须谨慎为之

摘自:https://blog.csdn.net/itmyhome1990/article/details/27339269?utm_source=blogxgwz5

  • 示例
window.open ('page3.html','two','location=no,top=0,left=400,width=900,height=900' )
  • 遇到的问题
    谷歌浏览器要 top left width height需要一起设置,否则参数不生效
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现window.open下载文件的兼容性,可以通过以下方式进行处理。 首先,需要确保所下载文件的格式是常见且被广泛支持的。例如,常见的文件类型如文本文件(.txt)、压缩文件(.zip)、PDF文件(.pdf)、Word文档(.docx)等,这些格式都是大多数浏览器默认支持的。 其次,需要添加合适的响应头信息,使浏览器能够正确地解析下载文件。在服务器端的响应头中,设置Content-Disposition为attachment,然后指定文件的名称和扩展名。这样浏览器就能够正确地识别文件的类型,并将其当作下载文件处理。 另外,为了确保兼容性,还可以提供多种下载方式。除了使用window.open打开新窗口下载文件外,还可以使用其他方法,例如使用iframe、a标签的download属性或者通过XMLHttpRequest来实现文件下载。根据不同的浏览器和环境,选择适合的下载方式可以提高兼容性。 最后,要注意不同浏览器对弹窗拦截的处理。一些浏览器会自动屏蔽弹窗,包括使用window.open下载文件时打开的新窗口。为了避免被拦截,可以在下载触发之前先通过用户操作,例如点击按钮等,来触发文件下载操作。这样用户的主动操作可以降低被浏览器拦截的概率。 综上所述,实现window.open下载文件的兼容性,需要选择常见且广泛支持的文件格式、设置合适的响应头信息、提供多种下载方式以及注意浏览器的弹窗拦截规则,这样可以增强兼容性并确保文件能够正确下载。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值