我有三个不同的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.
即,脚本应该执行以下操作:
检索调用html页面的ID(第1页,第2页或第3页)并将其另存为LocalStorage项目或以另一种合适的持久方式。
当用户点击↵返回链接时,需要更新glossary.html中定义的href,使其指向 page1.html#page1 < / strong>, page2.html#page2 或 page3.html#page3 ,具体取决于点击词汇表链接的html页面。
解决此问题的最简单方法是什么?
答案 0 :(得分:0)
在glossary.html
中使用localStorage来记录引用网址。
如果您使用像$_SERVER['HTTP_REFERER']
这样的PHP等服务器端脚本,您可以轻松获得它
然后通过在变量中回显它将其传递给Javascript。
urlValue="<? echo $_SERVER['HTTP_REFERER']; ?>";
localStorage.setItem("referer", urlValue); // name, value
编码冒险的其余部分取决于你 ;)