【问题标题】:Simulate history.go(-1) with Javascript/JQuery [closed]使用 Javascript/JQuery 模拟 history.go(-1) [关闭]
【发布时间】:2016-10-20 05:04:18
【问题描述】:

我有三个不同的 html 文件(page1.htmlpage2.htmlpage3.html),每个文件都包含指向第四个 html 文件 (glossary.html) 中的相同目标。

由于技术原因,我不能使用 history.go(-1) 或其他特定于浏览器的函数,但我可以使用 JavaScript 和 JavaScript 库,例如JQuery 和 LocalStorage。

用 JavaScript 模拟 history.go(-1) 功能的最佳方法是什么?

技术细节如下:

page1.html 包含以下链接:

<a id="page1" href="glossary.html#def1" class="footnote">1</a>

page2.html 包含以下链接:

<a id="page2" href="glossary.html#def1" class="footnote">1</a>

page3.html 包含以下链接:

<a id="page3" href="glossary.html#def1" class="footnote">1</a>

glossary.html 包含以下链接:

<a id="fn1" href="#">↵ Back </a>Term 1: Definition of term one.

即,脚本应执行以下操作:

  1. 检索调用 html 页面的 id(page1page2page3)并将其保存为 LocalStorage 项或以另一种合适的持久方式。

  2. 当用户点击↵Go back链接时,glossary.html中定义的href需要更新,使其指向page1.html#page1、page2.html#page2page3.html#page3,具体取决于单击词汇表链接的 html 页面。

解决这个问题最简单的方法是什么?

【问题讨论】:

  • “由于技术原因,我不能使用 history.go(-1) 或其他浏览器特定的功能” 我们需要了解更多关于该限制的信息,因为它没有多大意义。几乎任何答案都将使用“特定于浏览器的功能”(或对象),例如location。请注意,您的“应该执行以下操作”使用特定于浏览器的内容,例如本地存储。
  • 另一种可能的解决方案是在您的 url 或哈希属性中插入查询字符串参数并在页面加载时对其进行解析。即 /glosary.html?back_url=...
  • 我唯一能想到的就是将路线存储在本地存储中并在它们之间导航!但正如@T.J.Crowder 所说,这是另一个特定于浏览器的事情
  • 我不同意这个问题的 HOLD 状态。在以上 3 个 cmets 中,有 2 个喜欢 @T.J. Crowder (450 894 rep. points) 和 Amin Jafari (4 639 rep. points) 谈论localStorage问题很清楚。
  • @LouysPatriceBessette:尝试用雷区回答问题通常是浪费时间(OP 无法使用但他们没有告诉我们的东西)。 OP 可以回来,添加必要的信息,然后重新打开问题。或者删除问题并发布一个包含所有必要信息的问题。然后我们可以提供帮助。这就是这里的工作方式。我已经投票决定重新开放,因为他们说他们可以使用 jQuery,并且有一个 jQuery+localStorage 解决方案,所以希望能够在矿井之间引导...... :-)

标签: javascript jquery html dynamic href


【解决方案1】:

在您的glossary.html 中使用localStorage 来记录引荐来源网址。

如果你使用像 PHP 这样的服务器端脚本和$_SERVER['HTTP_REFERER']...
然后通过在变量中回显它来将其传递给 Javascript。

urlValue="<? echo $_SERVER['HTTP_REFERER']; ?>";
localStorage.setItem("referer", urlValue);    // name, value

编码冒险的其余部分由您决定。
;)

【讨论】:

  • 感谢您提供的唯一有用答案!这正是我想要的。其余的我可以自己做。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-30
相关资源
最近更新 更多