What?
window接口的 open() 方法,是用指定的名称将指定的资源加载到新的或已存在的浏览上下文(标签、窗口或 iframe)中。
How?
window.open(url, target, windowFeatures)
参数
- url(String 可选)
要加载的资源的 URL 或路径。如果指定空字符串(“”)或省略此参数,则会在目标浏览上下文中打开一个空白页- target(String 可选)
用于指定加载资源的浏览上下文的名称。如果该名称无法识别现有的上下文,则会创建一个新的上下文,并赋予指定的名称。还可以使用特殊的 target 关键字:_self、_blank、_parent 和 _top。
_self:当前页面加载。(默认)
_blank:通常在新标签页打开,但用户可以通过配置选择在新窗口打开。
_parent:当前浏览环境的父级浏览上下文。如果没有父级框架,行为与 _self 相同。
_top:最顶级的浏览上下文(当前浏览上下文中最“高”的祖先)。如果没有祖先,行为与 _self 相同。- windowFeatures(String 可选)
包含以逗号分隔的窗口特性列表,形式为 name=value,布尔特性则仅为 name。这些特性包括窗口的默认大小和位置、是否打开最小弹出窗口等选项。支持以下选项:
popup:使用最小弹出窗口。弹出窗口中包含的用户界面功能将由浏览器自动决定,一般只包括地址栏。
width 或 innerWidth:指定内容区域(包括滚动条)的宽度。最小要求值为 100。
height 或 innerHeight:指定内容区域(包括滚动条)的高度。最小要求值为 100。
left 或 screenX:指定从用户操作系统定义的工作区左侧到新窗口生成位置的距离(以像素为单位)。
top 或 screenY:指定从用户操作系统定义的工作区顶部到新窗口生成位置的距离(以像素为单位)。
noopener:如果设置了此特性,新窗口将无法通过 Window.opener 访问原窗口,并返回 null。
使用 noopener 时,在决定是否打开新的浏览上下文时,除 _top、_self 和 _parent 以外的非空目标名称会像 _blank 一样处理。
noreferrer:如果设置了此特性,浏览器将省略 Referer 标头,并将 noopener 设为 true。更多信息请参阅 rel=“noreferrer” (en-US) 。
示例
打开最小窗口
设置窗口大小位置
…后续更新渐进增强