问题标签 [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.
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 安装搞砸了?
parsing - 有没有办法使用 Adobe AIR 或任何其他工具来读取浏览器的历史记录?
首先,我不是黑客:)
我们正在做一个项目,我们将为访问某些网站组的用户奖励积分。显然存在重大的隐私问题,但我们对实际知道他们去过哪里没有兴趣,只要我们创建的程序可以检查历史并通过算法对站点/用户进行排名。
这将是一个可下载的应用程序,我们会告诉用户它是如何工作的,因为透明度至关重要。
现在,考虑到这一点,本地程序有没有办法访问浏览器的缓存/历史记录并从中列出?
我读过 Firefox 使用 SQLite 来编译他们的历史,这可能会使用 Adobe AIR 进行解析。同时,Adobe AIR 可以访问文件系统,因此它可能会检查通常的 IE 临时文件夹是否存储了任何文件。如果是这样,请尝试阅读下载它们的 URL?
我知道所有这些听起来都很狡猾,但请保持开放的心态:)
谢谢大家的帮助。
google-chrome - Chrome 不会缓存隐藏的表单字段值以在浏览器历史记录中使用
我有一个包含文本框字段和隐藏字段的 ASP.Net Web 表单。隐藏字段值是使用客户端 JavaScript 动态修改的。发布表单、检查值并重定向到另一个页面都按预期工作。
但是,当我使用浏览器后退按钮显示上一页时,我希望看到所有表单字段仍填充有已发布的值。
在 IE 和 Firefox 中,文本和隐藏输入字段都是这种情况。
在 Chrome 中,这仅适用于文本字段。隐藏字段的值丢失。
浏览浏览器历史记录时,Chrome 是否真的不会重新填充动态设置的隐藏表单字段值?
我已经把一个小样本放在一起来演示这个问题,如果需要的话可以提供。我想先问这个问题,看看这是否是众所周知的行为以及我必须接受的事情。
javascript - 如何在不离开页面的情况下更改浏览器中显示的 URL
是否可以使用 JavaScript 更改浏览器的 URL,但不能离开页面?
jsp - 防止用户在注销后看到以前访问过的安全页面
我要求最终用户在注销/注销后不能返回受限页面。但目前最终用户可以通过浏览器的后退按钮、访问浏览器历史记录甚至通过在浏览器的地址栏中重新输入 URL 来做到这一点。
基本上,我希望最终用户在退出后不能以任何方式访问受限页面。我怎样才能做到最好?我可以使用 JavaScript 禁用后退按钮吗?
javascript - 管理浏览器历史记录的巧妙方法
我正在尝试在 AJAX 应用程序中实现体面的导航。我现在正在做的事情如下:
- 每次用户单击 AJAX 链接时,都会执行相应的调用并更改哈希值。
- 每当加载新页面时,我都会检查哈希是否存在并进行相应的 AJAX 调用以更新页面。这可确保书签按预期工作。
- 每 500 毫秒,我检查一下哈希是否更改并执行相应的 AJAX 调用。这照顾了用户按下后退/前进按钮,尽管有轻微的延迟。
第三点有点烦人:我不希望每 500 毫秒超时一次只是为了检查哈希,因为大多数时候它会保持不变。
有没有更好的方法来管理这个?我想不出任何替代方案,但也许我错过了一些东西。
请不要将我指向现成的解决方案,除非您知道它们基于不同的机制。
jquery - 具有 window.history.pushState 和回退的跨浏览器 jquery ajax 历史记录
我想以跨浏览器的方式使用 jQuery 和 AJAX 实现导航历史。我的方法是在不window.history.pushState
支持./#!/url
window.history.pushState
例如:
在支持的浏览器上window.history.pushState
,单击这些链接之一应将地址更改为http://domain.com/home、http://domain.com/about等,而无需刷新页面。当浏览器不支持window.history.pushState
时,应使用片段标识符,即:http://domain.com/#!/home、http://domain.com/#!/about。
更新:根据这里的反馈,我已经实现了Ajax SEO ( git ),它使用
jQuery Address for HTML5 History API 和旧的浏览器回退到/#!/url
.
javascript - Ajax 历史的轮询与隐藏 iFrame
背景
检测 URL 中的哈希更改和修复前进/后退按钮是处理 Ajax 历史的库的两个要求。实现这些库有两种思想流派。您可以让轮询器不断检查 URL(不良浏览器没有 onHashChange 事件)。或者,您可以使用隐藏的 iFrame 在浏览器历史记录中添加点。有人可能认为隐藏 iFrame 比轮询更好,但隐藏 iFrame 不会更新外部浏览器的 URL。因此,如果用户想在 Web 应用程序中共享她的当前状态,她将始终共享她的初始状态。
问题
是否有任何 Ajax 历史技术既不需要轮询,也不需要更新主浏览器的 URL?
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 令牌?
我很困惑为什么冒充用户并不能简单地导致这种方法的成功?
javascript - jQuery 历史插件
有几个不同的 jQuery 历史插件,其中一个比其他任何一个都好...
我正在尝试决定选择哪一个,任何想法或任何其他尝试: