javascript - 为什么 history.go(-1) 在 IE 和 webkit 浏览器中做不同的事情?

标签 javascript asp.net internet-explorer browser-history

我的 asp.net 应用程序中有这段代码

    linkBack.NavigateUrl = "#";
    linkBack.Attributes["onclick"] = "if (BrowserDetect.browser == 'Explorer') {history.go(-1);} else if (BrowserDetect.browser == 'Chrome') {history.go(-1);return false;}";

BrowserDetect 是一个 JS 库,它告诉我我正在使用什么浏览器。回到正题,当我点击 Chrome 中的后退链接时,它让我回到历史上一级,这与预期完全一样。 IE 让我后退一步,在下一次点击时,让我回到原来的位置,随后的点击确保我在相同的两个页面之间来回移动。有人可以向我解释发生了什么以及我该如何解决这个问题吗?

最佳答案

因为您正在为 IE 和 Chrome 做一些不同的事情?无论如何,您都需要从 onclick 返回 false。否则将跟随链接 (#)

linkBack.Attributes["onclick"] = "history.go(-1);return false;";

关于javascript - 为什么 history.go(-1) 在 IE 和 webkit 浏览器中做不同的事情?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14370747/

相关文章:

c# - 如何在ASP.NET中并行化CPU密集型操作

asp.net - 复选框列表的 CSS 在 asp.net 的复选框下分组

php - ASP session 算法通过PHP生成cookie

html - Doctype 声明 Internet Explorer 错误

php - Javascript 弹出选择器 + PHP

javascript - Node/JavaScript 函数返回一个新路径,给定文件路径、基本路径和新的目标路径

javascript - AngularJS:模块

JQuery 淡入淡出效果在 IE 中不起作用

JavaScript 循环

javascript - 无法修改添加到 Number.prototype 的属性