Javascript的history.back无法工作

3
我建立了一个Facebook选项卡,其中有一个要填写的表单。但是在表单下方有一个链接到不同URL上的条款和条件页面。
表单位于页面/page/like, 而条款和条件页面位于页面/page/terms。
在条款和条件页面中,返回按钮内的href如下:
 href="javascript:window.history.back()"

这个按钮应该在你阅读完条款和条件后将你带回表单页面。
在测试服务器上运行良好,但是一旦嵌入 Facebook,返回按钮就无法正常工作,不会返回到表单页面,而是返回到品牌的主页。
我刚刚遇到的另一个问题是,如果我填写了一些字段,然后点击 T&C 页面并使用返回按钮返回表单页面,则所有输入字段都为空。
前端是否有办法修复这个问题?

有可能是锚点的点击导致历史记录增加了一条。(只是猜测) - DevZer0
2个回答

3

控制台有任何提示吗?

尝试使用window.history.go(-1)

或者,您是否尝试使用target="_blank"在单独的窗口中打开T&C?如果您担心确保条款被阅读,您可以在打开的窗口内运行父窗口中的函数,例如window.opener.readTC(),其中.readTC是您的函数。


似乎在Chrome中有一个关于后退按钮的bug,我不确定它是否与Facebook或Google Chrome本身有关。 - Aessandro

0

试试这个例子...

<html>
<head>
<script>
function goBack()
  {
  window.history.back()
  }
</script>
</head>
<body>

<input type="button" value="Back" onclick="goBack()">

</body>
</html>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接