📜  JavaScript window.open() 方法(1)

📅  最后修改于: 2023-12-03 14:42:27.986000             🧑  作者: Mango

JavaScript window.open() 方法

JavaScript中的window.open() 方法可以在一个新的浏览器窗口中打开一个新的网页。

语法
window.open(url, name, specs, replace);

参数说明:

  • url: 打开网页的URL
  • name: 窗口的名称,用于后续在代码中引用, 默认是"_blank"
  • specs: 用逗号分隔的参数列表,如窗口的大小、工具栏是否显示等。
  • replace: 如果为true,则新打开页面会替换浏览器历史记录中的当前页面,否则会在历史记录中新增一条记录,默认为false。
示例

以下代码会在一个新窗口中打开名为"myWindow"的网页:

window.open("http://www.example.com", "myWindow", "height=500,width=500,top=100,left=100");
参数说明
name参数

当多次使用window.open()方法打开新窗口时,可以使用name参数来唯一标识不同的窗口。可以在后续代码中使用该名称来引用该窗口。

var myWindow = window.open("", "myWindow");
myWindow.document.write("<p>This is my new window!</p>");
specs参数

specs参数为用逗号分隔的字符串,用于定义窗口的一些属性,比如宽度、高度、工具栏等:

window.open("http://www.example.com", "myWindow", "height=500,width=500,top=100,left=100,toolbar=yes,menubar=no");

常用的specs参数有:

  • height:窗口的高度
  • width:窗口的宽度
  • top:窗口距离屏幕顶部的距离
  • left:窗口距离屏幕左侧的距离
  • toolbar:是否显示工具栏
  • menubar:是否显示菜单栏
  • scrollbars:是否显示滚动条
replace参数

replace参数是否将新打开的页面替换为当前页面。

window.open("http://www.example.com", "_self");

示例代码第二个参数_self将会替换当前页面。。

使用场景

window.open方法经常用于实现一些弹出窗口的效果,比如对话框等。也可以用于将某个网站的内容展示在一个独立的窗口中,或者将表单提交的结果展示在新窗口中以避免覆盖当前页面。

注意事项
  • 浏览器中的弹出窗口易被浏览器拦截,可以在window.open()方法中使用浏览器调用允许弹出窗口的设置。
  • window.open()方法返回一个window对象,可以在之后的代码中引用该对象的属性和方法。需要注意的是,该window对象不一定是打开窗口的窗体。
  • 通过window.open()打开的窗口不会与原窗口共享cookie,需要手动设置cookie才能共享。
  • 使用window.close()可以关闭之前通过window.open()打开的窗口。
  • IE浏览器不支持使用scrollbars参数来隐藏滚动条,需要使用CSS样式来实现。