【发布时间】:2011-06-18 12:46:28
【问题描述】:
我想知道有没有办法强制window.location 更新?我在使用 ajax 生成结果的页面上。但是,URL 在栏中保持不变,因此我无法获取真实的 URL。我想知道..我将如何获取 URL?我可以在不刷新页面的情况下强制window.location 更新吗?
我所说的这类页面的一个例子是 google Instant!
【问题讨论】:
-
我认为你必须更好地描述这个场景。 我在一个使用 ajax 的页面上 是什么意思?你创建这个页面吗?您是否使用浏览器访问此页面?您如何访问
window.location?您是否在第三方页面中注入 JavaScript?等 -
根据您的下一个问题,我假设您正在创建一个可以在 Google Instant 页面上运行的 Chrome 扩展程序......我说的对吗?如果是这样,那么向
hashchange事件添加侦听器可能是获取 URL 的唯一方法(但如果接受的答案有效,我会对 how :) 感兴趣) -
是的,我正在尝试创建一个适用于 Google Chrome 的 Chrome 扩展程序。但是,我似乎无法获得 ajax 响应的 URL。我已经有一个侦听器,它检查 MD5 的结果以查看 URL 是否已更改,但我似乎无法获取 URL。
-
@Skizit:所以我假设您创建了一个内容脚本(或在 Chrome 中调用的任何内容),它会被注入到页面中?您是否尝试过注册
hashchange事件处理程序?正如我所说,在很短的时间后(当用户不再输入时),URL 会发生变化。您会收到通知,然后可以获取 URL(如果我正确理解了整个场景)。 -
@Felix Kling 是的,我正在使用内容脚本。如果我这样做
window.location只返回http://www.google.com而不是“真实” URL。问题是window.location中的 URL 没有改变。但是,该 url 确实会在 chrome 控制台显示的 XHR 中更新。所以我想知道有什么方法可以获取该 URL 并将其放入我的代码中。然后使用下面列出的 HTML5
标签: javascript ajax window