如何在新标签中打开的外部页面添加“后退”按钮?

时间:2013-02-03 06:05:09

标签: javascript html browser-history

对于这个广泛的问题,我很抱歉,但我不知道从哪里开始。

我的网站上有一个通过MailChimp生成的optin表单。当用户选择时,我会将他带到自定义页面。该页面将在新选项卡中打开。

我找到了类似这样的解决方案:

<input type="button" value="Go Back From Where You Came!" onclick="history.back(-1)" />

<FORM><INPUT Type="button" VALUE="Back" onClick="history.go(-1);return true;"></FORM>

他们会在内部导航中工作,但不适用于我想要实现的目标。

2 个答案:

答案 0 :(得分:4)

你不能这样做。浏览器历史记录与单个窗口相关联,因此您可以使窗口在历史记录中向后或向远,但您无法打开新窗口并指向第一个窗口的上一页。您甚至无法获得之前的URL实际内容,因为这是一项安全功能。

您可以做的最好的事情是通过cookie或会话变量跟踪您网站的上一页,然后使用javascript弹出带有存储URL的窗口。

答案 1 :(得分:0)

如果原始网页是网页模板中的静态网页或变量,您可以添加<a>标记,如下所示:

<a href="/pageYouShouldHaveCameFrom">
<button type="button" name="button" onClick="javascript:history.go('/pageYouShouldHaveCameFrom');">Back</button>
</a>

当页面不是内部页面且没有历史记录时,它将转到href中定义的链接。 正如Crayon Violent所说,更复杂的网页应该使用cookie或会话变量。