问题标签 [hashchange]
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 - 使用 Ajax 时如何保持浏览器历史同步?
我正在使用 ASP.NET Ajax 编写一个简单的相册应用程序。
该应用程序使用异步 Ajax 调用来预加载相册中的下一张照片,而无需更改浏览器中的 URL。
问题是当用户点击浏览器中的后退按钮时,应用程序不会返回到上一张照片,而是导航到应用程序的主页。
有没有办法欺骗浏览器将每个 Ajax 调用添加到浏览历史记录中?
javascript - 更改浏览器中的 URL 而不使用 JavaScript 加载新页面
我怎么会有一个JavaScript操作,它可能对当前页面有一些影响,但也会改变浏览器中的 URL,所以如果用户点击重新加载或书签,那么使用新的 URL?
如果后退按钮可以重新加载原始 URL,那也很好。
我正在尝试在 URL 中记录 JavaScript 状态。
javascript - 检测 URL 中的后退按钮/哈希更改
我刚刚在http://ritter.vg建立了我的新主页。我正在使用 jQuery,但非常少。
它使用 AJAX 加载所有页面 - 我将其设置为通过检测 URL 中的哈希来允许添加书签。
但我无法让后退和前进按钮工作。
有没有办法在不使用 setInterval 循环的情况下检测何时按下后退按钮(或检测哈希何时更改)?当我尝试使用 0.2 和 1 秒的超时时,它与我的 CPU 挂钩。
javascript - 为 Ajax 应用程序启用返回/fwd 键事件
我有一个在 AJAX 上工作的应用程序。但是我想在其中具有导航功能。为了欺骗 url,我正在更改 location.hash,以生成 URL。但是如果我使用 back/fwd,只有 url 改变,但页面不会重新加载。如何覆盖hstory.back
以重新加载页面。
javascript - Javascript 历史框架的经验
当用户选择多个更改页面行为的选项时,我正在寻找一个 javascript 历史框架来处理页面内的导航。
页面上有多个人工制品会改变页面的数据加载,我想将其存储为一组堆叠的行为。在更广泛的意义上,出于同样的原因,我想将此作为工具包添加到我未来的 Web 项目中。
我主要用 JQuery 在 ASP.NET 中编写,但我现在只担心 JQuery。我确实用 PHP、Python 和 Perl(取决于演出)编写了其他项目,所以它必须与平台无关。
我一直在网上寻找并找到了一些,但只有一个(在 OReilly 上报道)看起来符合要求。我已经开始使用它,但我想知道其他人正在使用哪些工具包以及其他人会推荐什么。
因此,如果您对历史框架、在 Ajax 中处理后退按钮(等)有任何经验,我很想听听您使用了什么以及它是如何工作的。这真的会帮助我对图书馆做出最终选择。
谢谢,
小号
javascript - 如何检测位置哈希的变化?
我正在使用 Ajax 和哈希进行导航。
有没有办法检查window.location.hash
更改是否像这样?
http://example.com/blah #123到http://example.com/blah #456
如果我在文档加载时检查它,它会起作用。
但是如果我有基于#hash 的导航,当我按下浏览器上的后退按钮时它不起作用(所以我从 blah#456 跳转到 blah#123)。
它显示在地址框中,但我无法用 JavaScript 捕捉它。
javascript - 使用后退按钮时 AJAX 结果已丢失
所以我建立了一个类似于 Twitter 的分页系统,其中显示 20 个结果,用户可以单击一个链接来显示接下来的 20 个或所有结果。显示的结果数量可以由 URL 末尾的参数控制,但是,这不会使用 AJAX 更新,因此如果用户单击其中一个结果然后选择返回,他们必须从 20 开始返回结果。
我的一个想法是,如果我在使用 AJAX 提取结果时更新 URL,它应该(我希望)使用户能够在不丢失显示的结果的情况下来回移动。
这实际上是可能的还是我完全错了?
另外,我将如何更改 URL?我有一种方法可以使用 javascript 编辑 URL 并将其设置为变量,但我不确定如何将该变量应用于 URL。
这里的任何帮助都会很棒!
附注:我正在使用 jQuery 的 load() 函数来完成我所有的 AJAX。
jquery - jquery历史插件
我正在使用这个插件:
http://plugins.jquery.com/project/history
在本页面:
http://www.crtaci.info/index.php?autocom=majice
我不知道为什么,但似乎我无法弄清楚该怎么做才能让它发挥作用......我想我需要更多的睡眠...... :)
javascript - jquery ajax 历史和书签插件
有一些用于处理历史记录和书签的插件,例如: http: //plugins.jquery.com/project/history。不知何故,它看起来并不是一个完整的解决方案。例如,在一个页面上,您可能有一个包含多个复选框、文本框等的过滤器。您希望您的页面历史记录功能能够更新所有这些控件,并在其中一些控件的值发生更改时更新 url。使用 jquery 历史插件,您必须编写所有代码(甚至解析来自 url 的哈希值)。这个问题有更完整的解决方案吗?
javascript - 锚定 AJAX 和 SEO 解决方法?
你们都知道如何使用那些 300 毫秒的触发器来构建 AJAX 站点,以检查 URL 中的锚点(哈希链接),然后使用 AJAX 加载正确的页面。但是,这些锚链接对搜索引擎来说毫无意义 =(
我想过做一些解决方法。所有 JS 代码都保持不变,但是,这个小东西(我使用 JQuery,抱歉):
然后,将正文中的锚链接替换为普通链接,为非 JavaScript 用户和搜索引擎构建相应的普通页面(仍然包含所有 JS 代码)。对于普通访问者,您可以将普通链接即时转换为哈希值并立即加载 AJAX 内容。对于那些试图加载通过搜索引擎找到的某些页面的人 - 他们会,之后访问者将继续使用 ajax 导航......不知何故(请记住,那些普通的直接页面仍然包含 JS 代码)。
我只是想确保我的假设是正确的。他们是吗?
更新:不好的是,当用户使用 for ex 直接进入一些内部页面时。/portfolio地址,然后他会继续使用/portfolio#contacts或类似的 URL,这些 URL 不是很漂亮,但仍然有效(我的意思是/portfolio#contacts会显示联系人)。