- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试学习 History Web API,但在第一个障碍时就遇到了问题。
我能够使 history.pushState
正常工作,但 popstate
出现问题。在 AJAX
页面加载后第一次单击时它工作正常,但如果我再次加载同一页面,我需要单击后退按钮两次。如果我再加载一次,我需要点击返回三次,依此类推。
这是我的代码:
$(function(){
var $main = $('#main');
$(window).on('popstate', function () {
loadPage(location.href);
});
$(document).on('click', 'a', function(){
var href = $(this).attr('href');
history.pushState({}, '', href);
loadPage(href);
return false;
})
loadPage = function(href){
$main.load(href);
}
})
最佳答案
您需要状态对象。在您的情况下,您使用空对象将无法正常工作。只需使用这样的对象进行测试:{“url”:yourUrlVar}
关于javascript - Popstate 未按预期工作(需要多次点击),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34796023/
我正在尝试使用 ajax 加载内容的 HTML5 历史记录 API。 我有一堆通过相关链接连接的测试页面。我有这个 JS,它处理对这些链接的点击。单击链接时,处理程序获取其 href 属性并将其传递给
我的主页上有一个图像列表,单击后我会触发 AJAX 请求以将内容加载到灯箱。我在它们之间也有分页。每次用户单击下一个或上一个箭头时,我都会使用 PushState 更改 URL,效果很好。我的后退按钮
我现在正在使用 jquery mobile。当用户点击该框时,它会显示一个额外的框。但是当用户在浏览器(或后退按钮)上强制返回时,在那一刻,第二个框应该隐藏,而不是返回上一个页面。 我已经设法通过 p
我尝试使用 popstate 函数,但出现错误:Uncaught RangeError: Maximum call stack size exceeded 一步一步: 第 1 步:我点击了 li。 a
我有一个网站,它使用 AJAX 将内容动态加载到 div 中。 执行此操作的链接是带有 href="#"的 anchor 和触发 AJAX 的 onclick 事件。 当我点击返回时,这会让我没有历史
以下代码应引起“1”警报,但实际上什么都不做。 window.onpopstate = function(event) { alert(event.state.a) } history.pushSta
我在使用“popstate”事件处理程序时遇到问题,这是我的代码: window.addEventListener("popstate", function (event){ if (even
我正在创建一个单页并使用 pushState 来更改地址。现在,如果我向后推,popstate 将被触发,我想为页面从当前位置滚动到最后一个位置设置动画。这当然有效,但页面会跳到顶部。 有谁知道如何防
我按照规范将所有代码放在 $(document).ready 中,但是我是否也应该将我的“popstate”监听器也放在这段代码的末尾?还是重要? 最佳答案 这并不重要,因为它是一个事件,甚至可以在您
我正在使用 React 和 React router,我希望这样当用户位于网站的某些部分时会出现一个确认框,告诉他们如果离开页面,他们可能会失去一些进度。目前,我有一个 onbeforeunload
我正在尝试学习 History Web API,但在第一个障碍时就遇到了问题。 我能够使 history.pushState 正常工作,但 popstate 出现问题。在 AJAX 页面加载后第一次单
我在页面中间有一些链接,可以使用嵌套路由器更改其下方 Pane 中的内容。我与此问题相关的路线如下所示: const router = { mode: 'history', routes: [
我的 popstate 事件处理程序是这样定义的: window.addEventListener('popstate', function (ev) { alert('popstate');
我可以找到浏览器对 pushState 方法的支持,但我知道并非所有版本的浏览器实际上都在 popstate 事件中传递状态对象。如果浏览器支持 pushState,我可以指望它能够使用吗? 最佳答案
已尝试使用 Below Code 但它没有破坏 Popstate Event。 请帮助我们完成示例,在该示例中我可以根据条件销毁 Popstate 事件。 history.pushState(null
我正在尝试创建一个网页,在单击导航链接时替换主 div 的内容。我已经能够实现 Pushstate 函数来替换 div 内容并非常轻松地更改 url 地址。当使用 popstate 函数单击后退/前进
我尝试了几种方法,看看是否可以创建一个跨浏览器解决方案来延迟 popstate 事件,但没有任何运气。 大家有什么想法或想法吗? 下面显然不起作用,但有些效果: $(window).on('popst
在移动 SPA 应用程序中,我已覆盖默认返回行为以在页面之间切换。 // create history states history.pushState(-1, nul
我正在开发一个应用程序,它使用通过 添加到历史记录中的 View history.pushState() 函数 View 是表单中的不同步骤,用户可以在其中退回到之前的步骤并进行调整,但不能在不重新发
Here's what I'm working with 代码: set up window.onpopstate change hash show location.href 为什么单击 cha
我是一名优秀的程序员,十分优秀!