【问题标题】:webkit / Chrome history.back(-1) onclick vs hrefwebkit / Chrome history.back(-1) onclick vs href
【发布时间】:2013-01-26 18:33:02
【问题描述】:

每个人都知道,但我会重复这个问题:

<a href="#" onClick="history.go(-1)">Back</a>

不适用于基于 WebKit 的浏览器(Chrome、Safari、Mxthon 等)

另一种不起作用的方法(应该有效)是:

<a href="#" onclick="javascript:window.history.back(-1);">Back</a>

您可以这样做 - 有效! (但那是在 url 提示中显示 JS)

<a href="javascript:window.history.back(-1);">Back</a>

要在 onclick 事件中使用 JS,您可以这样做(有效,但请参阅下面的 cmets):

<a onclick="javascript:window.history.back(-1);">Please try again</a>

缺少 href 会使其工作,但不会显示为可点击链接,您可以应用 css 使其看起来像链接,应用蓝色、下划线和光标手,但谁想要呢?

【问题讨论】:

  • 1) 提出问题并立即发布答案有什么意义? 2)onclick="javascript:"是废话,省略javascript: 3)history.back()不接受任何参数,只是back()相当于history.go(-1)
  • 请不要在标题中添加resolved。如果您的回答有效,请采纳。
  • 1) 重点是让谷歌为寻找答案的人找到问题,马上回答是因为我花了一些时间测试每个案例和浏览器,为什么不呢?回复:3)这是我发现其他人发布的内容,我并不是说他们是正确的。我只是列出了方法列表并指出了我能看到的内容,并给出了在列出的浏览器中(对我来说)有效的答案。批评总是很容易:) 小心

标签: javascript google-chrome onclick href


【解决方案1】:

最终可行的解决方案,在 IE、FF、Safari、Chrome、Opera、Maxthon 中测试:

<a href="#" onclick="window.history.back();return false;">Back</a>

return false 后不要忘记分号;

【讨论】:

  • 在事件处理程序中写 javascript: 是没有意义的。
  • 令人惊讶的是,有多少种方法适用于不同的人和浏览器。如果它现在不起作用,那么可能新版本的浏览器现在解释不同......
  • 拥有内联 javascript 一开始可能不是一个好主意。见programmers.stackexchange.com/questions/86589/…
  • 我不确定我的答案为什么以及如何一直被编辑,我建议发布自己的答案而不是修复我的答案,它不再具有我的权限
  • 谢谢你,这对我有用,但你能解释一下为什么,请添加一个“return false”声明让它在 safari (Ios) 上工作吗?
【解决方案2】:

它甚至可以使用 history.go(-1)...

对于我测试过的 Chrome、IE、Mozilla,工作正常。使用下面的代码:

<a href="#" onclick="history.go(-1);return false;" style="text-decoration:underline;">Back</a>

【讨论】:

    【解决方案3】:

    这是唯一适用于所有当前浏览器的东西:

    <script>
    function goBack() {
        history.go(-1);
    }
    </script>
    <a onclick="goBack()">Back</a>
    

    【讨论】:

      猜你喜欢
      • 2014-04-06
      • 2013-01-23
      • 1970-01-01
      • 1970-01-01
      • 2018-05-27
      • 2011-04-02
      • 2013-04-21
      • 2013-05-15
      • 2014-05-12
      相关资源
      最近更新 更多