window 对象打开/跳转一个链接

420 阅读2分钟

「这是我参与2022首次更文挑战的第5天,活动详情查看:2022首次更文挑战

window 对象

window 对象是 BOM 的核心,window 对象指当前的浏览器窗口。所有 JS 全局对象、函数以及变量都属于 window 对象。全局变量是 window 对象的属性。全局函数是 window 对象的方法。甚至 DOM 的 document 也属于 window 对象的属性之一,只是大多数情况下可以忽略不写。

窗口操作

1. 打开窗口

open() 方法可用于打开新窗口。

语法:window.open([url], [窗口名称], [参数字符串])

参数说明:

该方法的三个参数都是可选的,默认在新页面打开一个空白页。
第一个参数可设置要打开窗口的路径。第二个参数规定在何处打开新窗口,也可用于指定窗口的名称。第三个参数设置窗口参数,多个参数可用逗号分隔。
如果有第一个参数,后面两个参数可省略,则在新页面打开。
第二个参数一般无需设置,如果要规定窗口的参数,则必须有第二个参数,必须为 '_blank',或者用 '', 代替,并且距离屏幕顶部不能为 0,否则失效,如果设置了左边距离,顶部可设置为 0。
最后一个参数规定加载到窗口的 URL 是在窗口的浏览历史中创建一个条目,还是替换浏览器历史中的当前条目,值为 true 或 false, 值为 true 时 URL 替换浏览历史中的当前条目,为 false 时 URL 在浏览历史中创建新的条目。

实例:点击按钮,在新窗口打开百度首页,宽600, 高400,距离屏顶像素10px,距离屏左10px

<body>
   <input type="button" onclick="newWin()" name="button" value="点我点我呀">
   <script>
     function newWin() {
       window.open('https://www.baidu.com/', '_blank', 'width=600,height=400,top=0,left=10')
     }
   </script>
 </body>

2. 关闭窗口

close() 方法可用于关闭已打开的窗口。(只读属性表示所引用的窗口是否关闭)

closed 属性可返回一个布尔值,该值声明了窗口是否已经关闭。

实例:点击按钮,判断当前是否有已打开窗口,是;则关闭

<body>
   <input type="button" onclick="newWin()" name="button" value="点我点我呀">
   <input type="button" onclick="closeWin()" name="button" value="关闭已打开窗口">
   <script>
     let openW = null
     function newWin() {
       openW = window.open('https://www.baidu.com/', '_blank', 'width=600,height=400,top=0,left=10')
     }
     function closeWin() {
       if (openW && !openW.closed) {
         openW.close()
       }
     }
   </script>
 </body>

3. window.location

window.location 对象可用于获取当前页面地址(URL)并把浏览器重定向到新页面。

属性描述
window.location.href返回当前页面的 URL
window.location.host返回包含URL域名的字符串,可能在该串最后带有一个":"并跟上URL的端口号
window.location.hostname返回 web 主机的域名
window.location.port返回 web 主机的端口
window.location.pathname返回当前页面的路径或文件名,开头有一个“/”
window.location.search返回查询参数部分,除了给动态语言赋值外,同样可以给静态页面,并使用JavaScript来获得相应的参数值。开头有一个“?”
window.location.hash返回锚点,开头有一个“#”