Lan*_*ard 206 javascript
有没有办法在JavaScript中获取以前的URL?像这样的东西:
alert("previous url is: " + window.history.previous.href);
Run Code Online (Sandbox Code Playgroud)
有类似的东西吗?或者我应该将它存储在cookie中?我只需要知道,所以我可以从之前的URL转换到当前的URL而不需要锚点和所有这些.
Ben*_*tto 314
document.referrer
Run Code Online (Sandbox Code Playgroud)
在很多情况下,如果他们通过点击链接到达当前页面(而不是直接在地址栏中键入,或者我相信在某些情况下,通过提交表单?),将获得用户访问的最后一页的URL.由DOM Level 2指定.更多这里.
window.history
允许导航,但出于安全和隐私原因,不允许访问会话中的URL.如果有更详细的URL历史记录,那么您访问的每个站点都可以看到您去过的所有其他站点.
如果您正在处理在您自己的站点上移动的状态,那么它可能不那么脆弱,并且使用正常的会话管理技术之一当然更有用:cookie数据,URL参数或服务器端会话信息.
RPD*_*ies 24
如果您想在不知道网址的情况下转到上一页,可以使用新的历史记录API.
history.back(); //Go to the previous page
history.forward(); //Go to the next page in the stack
history.go(index); //Where index could be 1, -1, 56, etc.
Run Code Online (Sandbox Code Playgroud)
但是,您无法在不支持HTML5 History API的浏览器上操纵历史堆栈的内容
有关更多信息,请参阅文档
小智 17
document.referrer
在所有情况下都与实际URL不同.
我有一个应用程序,我需要建立一个2帧的框架集.一帧是已知的,另一帧是我链接的页面.这似乎document.referrer
是理想的,因为您不必将实际文件名传递给框架集文档.
但是,如果您稍后更改底部框架页面然后使用history.back()
它不会将原始页面加载到底部框架,而是重新加载document.referrer
,因此框架集已经消失,您将返回到原始启动窗口.
我花了一点时间来理解这一点.所以在历史数组中,document.referrer
不仅是一个URL,它显然也是引用窗口规范.至少,这是我此时能够理解的最佳方式.
<script type="text/javascript">
document.write(document.referrer);
</script>
Run Code Online (Sandbox Code Playgroud)
document.referrer
为您的目的服务,但它不适用于 IE9 之前的 Internet Explorer 版本。
它适用于其他流行的浏览器,如 Chrome、Mozilla、Opera、Safari 等。
如果要编写在应用程序/浏览器中进行路由而不是往返于服务器的Web应用程序或单页应用程序(SPA),则可以执行以下操作:
window.history.pushState({ prevUrl: window.location.href }, null, "/new/path/in/your/app")
Run Code Online (Sandbox Code Playgroud)
然后,在您的新路线中,您可以执行以下操作来检索先前的URL:
window.history.state.prevUrl // your previous url
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
381365 次 |
最近记录: |