- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下简单的 JavaScript,我需要它来在页面重新加载时重新初始化一些变量,特别是当页面从 Safari BFCache 提供时:
jQuery(window).bind('pageshow', function(event) {
// I could inspect event.originalEvent.persisted here to check for BFCache hits,
// but it isn't required in this instance.
// Do some initialisation here
});
假设用户遵循以下路径,导航到页面 B 和 C,然后浏览回(即使用后退按钮)页面 A:
A -> B -> A -> C -> A
pageshow
处理程序仅在第一次和第二次访问 A 时触发,即初始页面加载和第一次 BFCache 加载。所以从本质上讲,似乎从 BFCache 提供的页面会触发 pageshow
一次且仅一次。
这是 Safari 上的预期行为吗,是否有解决方法?
最佳答案
我似乎通过绑定(bind)到 popstate
事件解决了这个问题:
jQuery(window).bind('popstate', function(event) {
// Do some initialisation here
});
每当事件的历史条目改变时触发。这似乎会持续触发而不是只触发一次,因此实现了每当用户登陆页面时执行重新初始化的目标,而不管到达那里的机制如何。
关于javascript - Safari 上的 pageshow 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33804292/
我正在制作一个 JQuery Mobile Web 应用程序,并且遇到了一个有趣的问题。我正在尝试从 pageshow 函数中动态注入(inject)页面的内容。我知道正在调用 pageshow 函数
在我的 jQuery 移动应用程序中,需要在调用 pageshow 事件时插入 DOM,我尝试了一整天但没有成功。 首先在document.ready中插入一些字段,之后需要在pageshow事件触发
我在 jquery pageshow 函数中有一个函数,只有在某个页面 (id) 上时才应该被激活。但出于某种原因,它不运行该脚本。这些页面是带有 id 的动态页面。 这是我的代码示例 $(docum
我遇到了 pageshow/pagehide 事件,但我不太确定它们是如何工作的。 我在 document 上注册了它们,后来在 window 对象上注册了它们,但它们从未触发。 我原以为它们会在为
我遇到以下情况,在第一次进入页面或从另一个页面返回该页面时,我需要运行一些“代码”。 Safari 的缓存功能 ( https://webkit.org/blog/516/webkit-page-ca
我使用 jQuery Mobile 1.2 创建了一个简单的 Web 应用程序。该应用程序由主页index.html 和名为settings.html 的第二页组成。主页的标题部分包含一个用于打开设置
我有两个页面,test1.html 和 test2.html。每当其中一个页面可见时,我都想执行一些代码。 这是两个页面: test1.html: test1
我有一个 jquery 移动网络应用程序,我想用一些信息填充 pageshow 上的 div 列表。 $('#data').live('pageshow', function (event, ui)
我有以下简单的 JavaScript,我需要它来在页面重新加载时重新初始化一些变量,特别是当页面从 Safari BFCache 提供时: jQuery(window).bind('pageshow'
我是 jquery 移动框架工作的新手。根据我的观察,我无法在我的文档的第一页上触发 pagebeforeshow 事件 有人遇到过同样的问题吗?请建议我触发事件的步骤或任何其他选择 最佳答案 演示
我正在编写一个 Firefox 插件并在数组中跟踪每个页面的工作人员。除了管理此阵列所需的一些花哨的步法(如此处所述 https://bugzilla.mozilla.org/show_bug.cgi
我的网页有问题。我认为这是这样的问题:https://stackoverflow.com/questions/24350594/jqm-pageshow-event-firing-number-of-
我有以下代码: $( function() { window.onload = function () { alert
我有一个每当显示页面时都需要调用的函数,无论是通过标准页面加载还是通过 jQuery Mobile 的 AJAX 导航机制。目前,我的代码工作没有问题,但我觉得有一种更优雅的方法。 在我的页面的页脚中
我有一个 JQuery Mobile 应用程序。在应用程序的第一页上,我尝试在加载时设置一些字段值(如果之前已设置)。为了尝试做到这一点,我目前有以下内容: 索引.html
我正在使用 jQuery框架-jcarousel.js在我的移动应用程序的页面上水平订购一些项目 jQuery Mobile + HTML . 当我导航到页面时,首先我从网络服务获取所有图像,将它们放
我有一个多页 HTML。第一页上有一个指向搜索页面的链接,我想在其中自动将搜索栏的文本框聚焦。 在我当前的代码中,某些动画似乎滞后于 pageshow 事件,从技术上讲,直到事件触发后才会出现。 我在
HTML5 有一个 pageshow event .在什么情况下,它的工作方式与主体的 onload 处理程序不同? 最佳答案 每次加载页面时都会触发 pageshow 事件,而当从缓存中加载页面时,
我们如何为 pageShow and pageHide 进行 JavaScript 对象检测?处理程序? if( /* pagehide is supported */ ){ window.ad
我对 pageinit 的用法有点困惑和 pageshow jQuery Mobile 中的方法。我知道pageinit在初始化和 pageshow 期间调用每次渲染页面时都会调用。 我有一个使用 $
我是一名优秀的程序员,十分优秀!