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

使用Javascript/JQuery模拟history.go(-1),javascript,jquery,html,dynamic,href,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

我有三个不同的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>
<a id="page2" href="glossary.html#def1" class="footnote">1</a>
<a id="page3" href="glossary.html#def1" class="footnote">1</a>
<a id="fn1" href="#">↵ Back </a>Term 1: Definition of term one.

page2.html包含以下链接:

<a id="page1" href="glossary.html#def1" class="footnote">1</a>
<a id="page2" href="glossary.html#def1" class="footnote">1</a>
<a id="page3" href="glossary.html#def1" class="footnote">1</a>
<a id="fn1" href="#">↵ Back </a>Term 1: Definition of term one.

page3.html包含以下链接:

<a id="page1" href="glossary.html#def1" class="footnote">1</a>
<a id="page2" href="glossary.html#def1" class="footnote">1</a>
<a id="page3" href="glossary.html#def1" class="footnote">1</a>
<a id="fn1" href="#">↵ Back </a>Term 1: Definition of term one.

glossary.html包含以下链接:

<a id="page1" href="glossary.html#def1" class="footnote">1</a>
<a id="page2" href="glossary.html#def1" class="footnote">1</a>
<a id="page3" href="glossary.html#def1" class="footnote">1</a>
<a id="fn1" href="#">↵ Back </a>Term 1: Definition of term one.
术语1:术语1的定义。
即,脚本应执行以下操作:

  • 检索调用html页面的id(page1page2page3),并将其保存为本地存储项或以其他合适的持久方式保存

  • 当用户单击↵ 返回链接,glossary.html中定义的href需要更新,以使其指向page1.html#page1page2.html#page2page3.html#page3,具体取决于单击词汇表链接的html页面

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

    glossary.html
    中使用来记录参考url。

    如果将PHP这样的服务器端脚本与
    $\u server['HTTP\u REFERER']

    然后通过在变量中回显将其传递给Javascript。

    urlValue="<? echo $_SERVER['HTTP_REFERER']; ?>";
    localStorage.setItem("referer", urlValue);    // name, value
    
    urlValue=”“;
    localStorage.setItem(“referer”,urlValue);//名称、值
    
    编码冒险的其余部分由您决定。

    ;)

    “出于技术原因,我不能使用history.go(-1)或其他特定于浏览器的功能”我们需要更多地了解该限制,因为它没有多大意义。几乎所有答案都将使用“特定于浏览器的功能”(或对象),如
    位置
    。请注意,您的“应该执行以下操作”使用特定于浏览器的内容,如本地存储。另一个可行的解决方案是在url或哈希属性中插入查询字符串参数,并在页面加载时对其进行解析。i、 e./glosary.html?back_url=…我能想到的唯一一件事就是将路由存储在本地存储中并在其中导航!但正如@T.J.Crowder所说的,这是另一个特定于浏览器的问题,我不同意在这个问题上保持这种状态。在上面3条评论中,有2条评论提到了@T.J.Crowder(450894个代表点)和Amin Jafari(4639个代表点),其中谈到了
    localStorage
    。问题很清楚。@Louyspatricebesette:试图用雷区来回答问题通常是浪费时间的(OP不能使用的东西,他们没有告诉我们)。OP可以返回,添加必要的信息,并重新打开问题。或者删除该问题并发布一个包含所有必要信息的问题。那我们就可以帮忙了。这就是这里的工作原理。我已经投票决定重新开放,因为他们说他们可以使用jQuery,并且有一个jQuery+localStorage解决方案,所以希望能够在两个矿井之间切换…:-)谢谢你唯一有用的回答!这正是我想要的。剩下的我可以自己做。