使用Javascript / JQuery模拟history.go(-1)

时间:2016-06-18 12:48:24

标签: javascript jquery html dynamic href

我有三个不同的html文件( page1.html page2.html page3.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(第1页第2页第3页)并将其另存为LocalStorage项目或以另一种合适的持久方式。

  2. 当用户点击↵返回链接时,需要更新glossary.html中定义的href,使其指向 page1.html#page1 < / strong>, page2.html#page2 page3.html#page3 ,具体取决于点击词汇表链接的html页面。

  3. 解决此问题的最简单方法是什么?

1 个答案:

答案 0 :(得分:0)

glossary.html中使用localStorage来记录引用网址。

如果您使用像$_SERVER['HTTP_REFERER']这样的PHP等服务器端脚本,您可以轻松获得它 然后通过在变量中回显它将其传递给Javascript。

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

编码冒险的其余部分取决于你 ;)