JavaScript HTML DOM Window open() 方法

  • Window open() 方法

    open()方法会打开一个新的浏览器窗口或一个新选项卡,具体取决于您的浏览器设置。
    提示:使用close()方法关闭窗口。
    在新的浏览器窗口/标签中打开“www.cainiaoya.com”:
    window.open("https://www.cainiaoya.com");
    尝试一下
  • 浏览器支持

    IE/Edge Chrome FireFox Safari Opera
    方法
    open()
    支持
    支持
    支持
    支持
    支持
  • 语法

    window.open(URL, name, specs, replace)
  • 参数值

    类型 描述
    name String 可选的。 指定目标属性或窗口名称。 支持以下值:
    • _blank - URL将加载到新窗口或选项卡中。 这是默认值
    • _parent - URL将加载到父框架中
    • _self - URL替换当前页面
    • _top - URL替换可能加载的任何框架集
    • name - 窗口的名称(注意:名称未指定新窗口的标题)
    specs String 可选的。 逗号分隔的项目列表,没有空格。 支持以下值:
    • channelmode=yes|no|1|0 是否以影院模式显示窗口。 默认为否。 仅限IE
    • directories=yes|no|1|0 已过时。 是否添加目录按钮。 默认为是。 仅限IE
    • fullscreen=yes|no|1|0 是否以全屏模式显示浏览器。 默认为否。 全屏模式下的窗口也必须处于影院模式。 仅限IE
    • height=pixels 窗口的高度。最小值是100
    • left=pixels 窗口的左侧位置。 不允许使用负值
    • location=yes|no|1|0 是否显示地址字段。 仅限Opera
    • menubar=yes|no|1|0 是否显示菜单栏
    • resizable=yes|no|1|0 窗口是否可调整大小。 仅限IE
    • scrollbars=yes|no|1|0 是否显示滚动条。 仅限IE,Firefox和Opera
    • status=yes|no|1|0 是否添加状态栏
    • titlebar=yes|no|1|0 是否显示标题栏。 除非调用应用程序是HTML应用程序或受信任的对话框,否则忽略
    • toolbar=yes|no|1|0 是否显示浏览器工具栏。 仅限IE和Firefox
    • top=pixels 窗户的顶部位置。 不允许使用负值
    • width=pixels 窗口的宽度。最小值是100
    replaces Boolear 可选的。 指定URL是创建新条目还是替换历史列表中的当前条目。 支持以下值:
    • true - URL替换历史列表中的当前文档
    • false - URL在历史记录列表中创建一个新条目
  • 技术细节

    项目 描述
    返回值: 对新创建的窗口的引用,如果调用失败,则为null
  • 更多例子

    在新窗口/选项卡中打开about:blank:
    var myWindow = window.open("", "", "width=200,height=100");
    尝试一下
    打开一个名为“MsgWindow”的新窗口,并在其中写入一些文本:
    var myWindow = window.open("", "MsgWindow", "width=200,height=100");
    myWindow.document.write("<p>This is 'MsgWindow'. I am 200px wide and 100px tall!</p>");
    
    尝试一下
    用新窗口替换当前窗口:
    var myWindow = window.open("", "_self");
    myWindow.document.write("<p>I replaced the current window.</p>");
    尝试一下
    打开一个新窗口并控制其外观:
    window.open("https://www.cainiaoya.com", "_blank", "toolbar=yes,scrollbars=yes,resizable=yes,top=500,left=500,width=400,height=400");
    
    尝试一下
    打开多个窗口:
    window.open("http://www.baidu.com/");
    window.open("https://www.cainiaoya.com/");
    尝试一下
    打开一个新窗口。使用close()关闭新窗口:
    function openWin() {
      myWindow = window.open("", "myWindow", "width=200,height=100");   // Opens a new window
    }
    
    function closeWin() {
      myWindow.close();   // Closes the new window
    }
    尝试一下
    打开一个新窗口。使用name属性返回新窗口的名称:
    var myWindow = window.open("", "MsgWindow", "width=200,height=100");
    myWindow.document.write("<p>This window's name is: " + myWindow.name + "</p>");
    尝试一下
    使用opener属性返回对创建新窗口的窗口的引用:
    var myWindow = window.open("", "myWindow", "width=200,height=100");   // Opens a new window
    myWindow.document.write("<p>This is 'myWindow'</p>");   // Text in the new window
    myWindow.opener.document.write("<p>This is the source window!</p>");  // Text in the window that created the new window
    尝试一下