【问题标题】:Test browser history before going back via javascript?在通过javascript返回之前测试浏览器历史记录?
【发布时间】:2010-12-03 15:35:15
【问题描述】:

我正在尝试使用一些 javascript 来为我的网站上的后退按钮添加额外的功能。现在我有一组看起来像这样的javascript:

$(".back-link a").live("click", function(){
    history.go(-1);
    return false;
});

现在,它工作得很好,但我正在努力使它尽可能地防弹,我预见到的一个问题是,如果有人登陆项目页面并且没有通过我的主页访问它,然后又回到他们的历史一步将使他们离开我的网站。显然,这不是我想要的。

我的猜测是,这将是一个执行 if 语句的简单案例,但我不确定要测试什么或如何测试它。我想我可以测试以确保 URL 的基础是我的网站,但我不确定如何。

任何提示或指示都会很棒。

【问题讨论】:

  • 浏览器已经有一个后退按钮...加上useit.com/alertbox/990530.html
  • +1 毛里西奥。请不要通过编写“返回”脚本来模仿预期的浏览器行为。
  • 嗯。我可能会删除它。最初,我把它放在那里,因为这些项目是 AJAXed,但由于所有旧的原因,我最终放弃了它。我想我可能会完全放下后退按钮,以免自己担心。好点,伙计们。

标签: javascript jquery string url browser-history


【解决方案1】:

不,没有那么简单。您可以使用历史记录集合进行后退或前进,但您无法获取历史记录中的网址。

您可以获得的关于用户来自何处的唯一信息是请求标头中的 HTTP_REFERER 字符串,但您必须使用服务器端代码来获取它。

【讨论】:

  • 也可以在JS中从document.referrer中获取Referer头。 (是的,尽管拼写不一致。)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-14
  • 2012-07-18
  • 2010-10-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多