aoa体育平台登录
Mou Mou Jidian Generator
发电机维修 发电机回收
发电机出售 发电机租赁
客户统一服务热线

0349-810629076
18136838954

您的位置: 主页 > 新闻中心 > 行业新闻 >

使用JavaScript操作浏览器历史记载API

本文摘要:History 是 window 工具中的一个 JavaScript 工具,它包罗了关于浏览器会话历史的详细信息。你所会见过的 URL 列表将被像客栈一样存储起来。 浏览器上的返回和前进按钮使用的就是 history 的信息。History 工具包罗长度属性,它包罗了会话历史记载栈中的 URL 数量。 例如,如果用户在浏览器中打开一个标签页,历史记载的长度将是 1(新的标签页也是一个网页)。

aoa体育平台登录

History 是 window 工具中的一个 JavaScript 工具,它包罗了关于浏览器会话历史的详细信息。你所会见过的 URL 列表将被像客栈一样存储起来。

浏览器上的返回和前进按钮使用的就是 history 的信息。History 工具包罗长度属性,它包罗了会话历史记载栈中的 URL 数量。

aoa体育平台登录

例如,如果用户在浏览器中打开一个标签页,历史记载的长度将是 1(新的标签页也是一个网页)。然后用户输入一个网址 foo.com 并点击回车,现在历史记载工具的长度将是 2, 用户转到其他页面 bar.com,历史记载工具的长度迁就是 3 了。Back 和 Forward 方法你可以使用 history 工具的 back 和 forward 方法来浏览网页。例如,如果你想转到上一个页面,那么可以使用:history.back()同样的,如果你想转到下一页,你可以使用:history.forward()Go 方法如果您想向前或向后移动 n 个页面,那么您可以使用 go 方法:history.go(-2) // 倒退 2 页history.go(2) // 前进 2 页所以 history.go(1) 和 history.forward() 效果是相同的,history.go(-1) 和 history.go(-1) 效果是相同的。

history.go 方法的默认值为 0,如果不传任何数字,则当前页面会被刷新。window.history.go(0)window.history.go()PushState你也可以使用 pushState 和 replaceState 方法改变页面的 URL。

pushState 会改变页面的 URL,并将改变后的 URL 添加到 history 工具的 URL 栈顶部。语法如下:history.pushState(state, title, url)参数 state 是状态数据,它将被存储在 history.state 变量中。参数 title 是标题文本,不外它对大多数浏览器都没有效果,所以一般传空字符串("")或传 null 就可以了。

让我们在控制台中实验一下,在执行之前,好比打开 baidu.com,然后在控制台输入:history.pushState('123', '', 'new-url')执行上面的代码后,它会将页面地址栏中的 URL 改为 baidu.com/new-url,同时将 URL 添加到 history 工具中。此时检查 history.length 会增加 1。

除此之外,我们还可以为每个 URL 存储状态(当前页面的数据)。在上面的例子中,你会把 "123" 存储在 history.state 变量中,当你返回到这个页面时,你就可以 history.state 再次拿到到这些数据。例如:history.pushState('temp data 1', 'title', 'new-url-1')history.state //"temp data 1"history.pushState('temp data 2', 'title', 'new-url-2')history.state //"temp data 2"history.back()history.state // "temp data 1"每当通过 pushState 返回到之前被添加到历史记载的页面时,浏览器就会触发一个名为 popstate 的事件,并将 state 数据作为参数。

好比在浏览器打开一个新标签页,进入某个网页(好比 baidu.com),先监听 popstate 事件:window.addEventListener('popstate', (e) => console.log(e))然后挪用 pushState:history.pushState({ name: 'test1' }, 'title', 'test1')然后按下返回按钮,popstate 事件就会被触发,你可以在监听事件中检察打印出来的数据。在打印的数据中,可以找到 history.state 的值。注册 pushState 中的 url 可以是完整的 url,但必须和当前页面是相同的域名,否则会抛出跨域异常。

aoa体育平台登录

浏览器另有一个 replaceState API,和 pushState 的区别是,它只改变了 URL,不会将 URL 添加到历史记载,这里就不再累述了。实例演示现在我们做一个小的网页应用,这个应用将实现如下功效:显示用户列表可以通过下拉框筛选“先生”和“女士”当下列列表发生变化时,URL 也会相应的变化我们先不体贴 history API,先实现功效。下面是 html 关键代码:<select id="selectbox"> <option value="both">全部</option> <option value="male">先生</option。


本文关键词:使用,aoa体育平台登录,JavaScript,操作,浏览器,历史,记载,API

本文来源:aoa体育平台登录-www.xqwyy.com

Copyright © 2007-2022 www.xqwyy.com. aoa体育平台登录科技 版权所有  ICP备案:ICP备70291423号-9