当执行进入页面时 JavaScript history.back() 函数是否生成 HttpRequest?
When into a page is performed the JavaScript history.back() function is generate an HttpRequest or not?
我是JavaScript的新手,有以下疑问。
进入一个页面我找到这个link返回上一页:
<a href="javascript:history.back()"><span class="glyphicon glyphicon-menu-left"></span> Indietro</a>
我的疑问是:
它工作正常(返回到上一页)但在我看来 javascript:history.back()
没有生成 HTTP 请求,因为:
如果我打开 FireBug 中的 Network 选项卡,我看不到没有生成的请求这里。
我正在开发 Spring MVC 应用程序,当我单击此处时,没有处理请求的控制器方法。
这是真的还是我遗漏了什么?它是如何工作的?我错过了什么?
history.back()
方法只是利用浏览器的本机后退按钮功能。因此它不会生成 HTML 请求。但是,您可以通过在页面上创建后退按钮并监听 onClick()
事件来跟踪这一点。调用事件后,调用 ajax 请求某个后端端点记录事件,然后在成功时调用 history.back()
history.back()
通常能够从最近的缓存中加载页面,因此不会导致网络获取。根据我的经验,服务器不会检查更新的页面是否过期 header,过期是根据缓存中的内容进行检查。
常见的例外情况是,如果浏览器可以判断页面或其某些内容已过期或不可缓存,或者页面是否已 POST
ed,或使用URI.
由于这是浏览器 built-in,此行为可能因浏览器而异,并且将来可能会发生变化。
我是JavaScript的新手,有以下疑问。
进入一个页面我找到这个link返回上一页:
<a href="javascript:history.back()"><span class="glyphicon glyphicon-menu-left"></span> Indietro</a>
我的疑问是:
它工作正常(返回到上一页)但在我看来 javascript:history.back()
没有生成 HTTP 请求,因为:
如果我打开 FireBug 中的 Network 选项卡,我看不到没有生成的请求这里。
我正在开发 Spring MVC 应用程序,当我单击此处时,没有处理请求的控制器方法。
这是真的还是我遗漏了什么?它是如何工作的?我错过了什么?
history.back()
方法只是利用浏览器的本机后退按钮功能。因此它不会生成 HTML 请求。但是,您可以通过在页面上创建后退按钮并监听 onClick()
事件来跟踪这一点。调用事件后,调用 ajax 请求某个后端端点记录事件,然后在成功时调用 history.back()
history.back()
通常能够从最近的缓存中加载页面,因此不会导致网络获取。根据我的经验,服务器不会检查更新的页面是否过期 header,过期是根据缓存中的内容进行检查。
常见的例外情况是,如果浏览器可以判断页面或其某些内容已过期或不可缓存,或者页面是否已 POST
ed,或使用URI.
由于这是浏览器 built-in,此行为可能因浏览器而异,并且将来可能会发生变化。