问题标签 [browser-history]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
407 浏览

javascript - ie7 无法将具有不同锚点(主题标签)的页面识别为 2 个不同的页面(因此历史记录不起作用)

作为开发一些 ajax 历史行为的一部分,我遇到了一件奇怪的事情:(我的)ie7 无法将具有不同锚点(主题标签)的页面识别为 2 个不同的页面。结果是,当使用后退按钮时,ie7 会跳过所有以前的 url(仅通过主题标签不同)。

例如,假设我按此顺序浏览了以下项目:

  • www.google.com
  • www.mysite.com/index#ajax1
  • www.mysite.com/index#ajax2
  • www.mysite.com/index#ajax3

在 www.mysite.com/index#ajax3 上点击后退按钮让我回到 www.google.com

我真的在这个问题上打破了我的头。为了检查我的理智,我测试了一些带有锚点的随机页面,加载了同样的问题。

据我所知,这不是预期的行为(所有其他浏览器(chrome、ff、safari)测试工作正常。我在这里遗漏了一些非常明显的东西还是我的 ie7 安装搞砸了?

0 投票
1 回答
262 浏览

parsing - 有没有办法使用 Adob​​e AIR 或任何其他工具来读取浏览器的历史记录?

首先,我不是黑客:)

我们正在做一个项目,我们将为访问某些网站组的用​​户奖励积分。显然存在重大的隐私问题,但我们对实际知道他们去过哪里没有兴趣,只要我们创建的程序可以检查历史并通过算法对站点/用户进行排名。

这将是一个可下载的应用程序,我们会告诉用户它是如何工作的,因为透明度至关重要。

现在,考虑到这一点,本地程序有没有办法访问浏览器的缓存/历史记录并从中列出?

我读过 Firefox 使用 SQLite 来编译他们的历史,这可能会使用 Adob​​e AIR 进行解析。同时,Adobe AIR 可以访问文件系统,因此它可能会检查通常的 IE 临时文件夹是否存储了任何文件。如果是这样,请尝试阅读下载它们的 URL?

我知道所有这些听起来都很狡猾,但请保持开放的心态:)

谢谢大家的帮助。

0 投票
3 回答
12805 浏览

google-chrome - Chrome 不会缓存隐藏的表单字段值以在浏览器历史记录中使用

我有一个包含文本框字段和隐藏字段的 ASP.Net Web 表单。隐藏字段值是使用客户端 JavaScript 动态修改的。发布表单、检查值并重定向到另一个页面都按预期工作。

但是,当我使用浏览器后退按钮显示上一页时,我希望看到所有表单字段仍填充有已发布的值。

在 IE 和 Firefox 中,文本和隐藏输入字段都是这种情况。

在 Chrome 中,这仅适用于文本字段。隐藏字段的值丢失。

浏览浏览器历史记录时,Chrome 是否真的不会重新填充动态设置的隐藏表单字段值?

我已经把一个小样本放在一起来演示这个问题,如果需要的话可以提供。我想先问这个问题,看看这是否是众所周知的行为以及我必须接受的事情。

0 投票
4 回答
27998 浏览

javascript - 如何在不离开页面的情况下更改浏览器中显示的 URL

是否可以使用 JavaScript 更改浏览器的 URL,但不能离开页面?

0 投票
7 回答
69628 浏览

jsp - 防止用户在注销后看到以前访问过的安全页面

我要求最终用户在注销/注销后不能返回受限页面。但目前最终用户可以通过浏览器的后退按钮、访问浏览器历史记录甚至通过在浏览器的地址栏中重新输入 URL 来做到这一点。

基本上,我希望最终用户在退出后不能以任何方式访问受限页面。我怎样才能做到最好?我可以使用 JavaScript 禁用后退按钮吗?

0 投票
3 回答
1024 浏览

javascript - 管理浏览器历史记录的巧妙方法

我正在尝试在 AJAX 应用程序中实现体面的导航。我现在正在做的事情如下:

  • 每次用户单击 AJAX 链接时,都会执行相应的调用并更改哈希值。
  • 每当加载新页面时,我都会检查哈希是否存在并进行相应的 AJAX 调用以更新页面。这可确保书签按预期工作。
  • 每 500 毫秒,我检查一下哈希是否更改并执行相应的 AJAX 调用。这照顾了用户按下后退/前进按钮,尽管有轻微的延迟。

第三点有点烦人:我不希望每 500 毫秒超时一次只是为了检查哈希,因为大多数时候它会保持不变。

有没有更好的方法来管理这个?我想不出任何替代方案,但也许我错过了一些东西。

请不要将我指向现成的解决方案,除非您知道它们基于不同的机制。

0 投票
3 回答
29316 浏览

jquery - 具有 window.history.pushState 和回退的跨浏览器 jquery ajax 历史记录

我想以跨浏览器的方式使用 jQuery 和 AJAX 实现导航历史。我的方法是在不window.history.pushState支持./#!/urlwindow.history.pushState

例如:

在支持的浏览器上window.history.pushState,单击这些链接之一应将地址更改为http://domain.com/homehttp://domain.com/about等,而无需刷新页面。当浏览器不支持window.history.pushState时,应使用片段标识符,即:http://domain.com/#!/homehttp://domain.com/#!/about


更新:根据这里的反馈,我已经实现了Ajax SEO ( git ),它使用 jQuery Address for HTML5 History API 和旧的浏览器回退到/#!/url.

0 投票
2 回答
1023 浏览

javascript - Ajax 历史的轮询与隐藏 iFrame

背景

检测 URL 中的哈希更改和修复前进/后退按钮是处理 Ajax 历史的库的两个要求。实现这些库有两种思想流派。您可以让轮询器不断检查 URL(不良浏览器没有 onHashChange 事件)。或者,您可以使用隐藏的 iFrame 在浏览器历史记录中添加点。有人可能认为隐藏 iFrame 比轮询更好,但隐藏 iFrame 不会更新外部浏览器的 URL。因此,如果用户想在 Web 应用程序中共享她的当前状态,她将始终共享她的初始状态。

问题

是否有任何 Ajax 历史技术既不需要轮询,也不需要更新主浏览器的 URL?

0 投票
2 回答
870 浏览

url - IUrlHistoryStg2::ClearHistory() 在服务中不起作用?

IUrlHistoryStg2::ClearHistory() 方法记录为 Per-User。

http://msdn.microsoft.com/en-us/library/aa767715(VS.85).aspx

从 SYSTEM 帐户下运行的服务调用它时,我无法定位特定的登录用户。我已经通过 WindowsIdentity.Impersonate() 成功模拟了用户,但是对 ClearHistory() 的调用总是返回 0 表示成功,但不会清除用户的历史记录。

这适用于 XP 和 Win7,因此似乎不是会话隔离问题。

也许是因为它是 COM,所以在模拟时正在查看调用者的 Process 令牌而不是其 Thread 令牌?

我很困惑为什么冒充用户并不能简单地导致这种方法的成功?

0 投票
3 回答
24498 浏览

javascript - jQuery 历史插件

有几个不同的 jQuery 历史插件,其中一个比其他任何一个都好...

我正在尝试决定选择哪一个,任何想法或任何其他尝试: