alert("previous url is: " + window.history.previous.href);
是否有类似的东西?还是应该将其存储在Cookie中?我只需要知道,就可以在没有锚的情况下从先前的URL过渡到当前的URL。
#1 楼
document.referrer
在很多情况下,如果用户通过单击链接进入当前页面(相对于直接在地址栏中键入内容,或者相信某些内容,则可以获取用户访问的最后一页的URL)情况,通过提交表格?)。由DOM级别2指定。更多信息。
window.history
允许导航,但出于安全和隐私原因,不允许访问会话中的URL。如果有更详细的URL历史记录,则您访问的每个站点都可以看到您去过的所有其他站点。 如果您要处理在自己站点中移动的状态,那么使用一种常规的会话管理技术(cookie数据,URL参数或服务器端会话)可能不那么脆弱,而且肯定会更有用。信息
#2 楼
如果您想在不知道URL的情况下转到上一页,则可以使用新的History 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.
但是您不能操纵历史的内容不支持HTML5历史记录API的浏览器上的堆栈
有关更多信息,请参阅doc
评论
知道网址,href =''怎么办?
– summu
19年5月25日在11:51
@summu它存储在浏览器本身中
–艾哈迈德·塔哈(Ahmed Taha)
5月19日16:10
#3 楼
在所有情况下,document.referrer
均与实际网址不同。 我有一个应用程序,需要在其中建立2个框架的框架集。一帧是已知的,另一帧是我要链接的页面。
document.referrer
似乎是理想的选择,因为您不必将实际文件名传递给框架集文档。但是,如果稍后更改底部框架页面然后使用
history.back()
,则不会加载将原始页面放到底部框架中,而是重新加载document.referrer
,结果框架集消失了,您又回到了原始开始窗口。 花些时间让我理解。因此,在历史记录数组中,
document.referrer
不仅是URL,而且显然也是引用程序窗口规范。至少,这是我目前可以理解的最好方法。 评论
从我最近的测试“ document.referrer”开始,现在只返回域名而不是完整的URL,以避免进行跟踪。
– Akash Kumar Seth
19-10-10在7:46
#4 楼
如果要编写在应用程序/浏览器中进行路由而不是往返于服务器的Web应用程序或单页应用程序(SPA),则可以执行以下操作: window.history.pushState({ prevUrl: window.location.href }, null, "/new/path/in/your/app")
然后,在新路径中,您可以执行以下操作来检索先前的URL:
< pre class =“ lang-js prettyprint-override”>
window.history.state.prevUrl // your previous url
#5 楼
<script type="text/javascript">
document.write(document.referrer);
</script>
document.referrer
符合您的目的,但不适用于IE9之前的Internet Explorer版本。 ,Safari等评论
我可以在IE 9中使用
– frodo2975
2015年12月30日15:59
#6 楼
那些使用Node.js和Express的用户可以设置一个会话cookie,该会话cookie将记住当前页面的URL,从而使您可以在下一个页面加载时检查引荐来源网址。这是一个使用express-session
中间件的示例://Add me after the express-session middleware
app.use((req, res, next) => {
req.session.referrer = req.protocol + '://' + req.get('host') + req.originalUrl;
next();
});
然后您可以像这样检查引荐来源Cookie的存在:
if ( req.session.referrer ) console.log(req.session.referrer);
不要假设此方法始终存在引荐来源网址Cookie,因为在以前的URL是另一个网站,清理或创建会话(首次加载网站)的实例上,该网址将不可用。
#7 楼
这将导航到先前访问的URL。javascript:history.go(-1)
评论
OP要求获取而不是去往上一个URL的方法
–马特·詹森(Matt Jensen)
19-10-19在16:11
评论
还有一个document.referrer,如果您是通过链接到达当前页面的(例如,不是通过书签或在地址栏中键入)。
–地狱犬
10年8月20日在5:18
我最终将以前的URL存储在该站点的Cookie中,document.referrer并不总是有效。 $ .cookie(“ previousUrl”,window.location.href,{path:“ /”}));。
–兰斯·波拉德
2010年8月23日在16:32
您的先生让我从JavaScript的痛苦中解救了出来!
–Anna Lam
2012年9月20日下午5:03
以前不是引荐来源。不要混淆他们
–绿色
2015年11月20日9:04
document.referrer不会保存来自上一个URL的哈希值……它仅引用上一个URL。
– Nmaster88
17年5月8日在9:35