bom对象: 浏览器网页跳转

235 阅读2分钟

前言

  • window 对象
  • location对象

window对象

  • window.open()方法可以用于导航到指定URL,也可以用于打开新浏览器窗口。这个方法接收4个参数:要加载的URL、目标窗口、特性字符串和表示新窗口在浏览器历史记录中是否替代当前加载页面的布尔值。通常,调用这个方法时只传前3个参数,最后一个参数只有在不打开新窗口时才会使用。
  • 如果window.open()的第二个参数是一个已经存在的窗口或窗格(frame)的名字,则会在对应的窗口或窗格中打开URL, 否在在新窗口打开

location对象

操作地址:

  • 可以通过修改location对象修改浏览器的地址。首先,最常见的是使用assign()方法并传入一个URL,如下所示:
location.assign('url')
  • 这行代码会立即启动导航到新URL的操作,同时在浏览器历史记录中增加一条记录。如果给location.href或window.location设置一个URL,也会以同一个URL值调用assign()方法。比如,下面两行代码都会执行与显式调用assign()一样的操作:
location.href('url');
window.location("url");

在这3种修改浏览器地址的方法中,设置location.href是最常见的。如果不希望增加历史记录,可以使用replace()方法

最后一个修改地址的方法是reload(),它能重新加载当前显示的页面。调用reload()而不传参数,页面会以最有效的方式重新加载。也就是说,如果页面自上次请求以来没有修改过,浏览器可能会从缓存中加载页面。如果想强制从服务器重新加载,可以像下面这样给reload()传个true: