问题标签 [pageshow]

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.

0 投票
1 回答
117 浏览

jquery - 在 JQM pageshow 作品中,pagebeforeshow 没有

嗨,我有一些 jQuery Mobile 并且pageshow工作正常(它有问题但工作正常),如下所示:

注意:我在缓存方面遇到了许多(阅读:丢失了数周)问题,所以尽管有所有相反的信息,我还是担心off()必须留下来。你会和我争论,我会坚持off(),我会是对的。

好的,但是当我将其更改为

它不运行。现在我知道你应该做类似的事情

但我不希望它出现在我希望它出现在整个文档上的那个 div 上。

0 投票
1 回答
216 浏览

jquery - jquery mobile pageshow函数触发两次

我有一个带有两个内部页面的主页。

每次我在每个事件上附加事件

警报在主页上被触发两次,此外,当我调用内部页面时,会为该页面执行自定义操作,而且主页上的 pageshow 触发的警报也会被触发。

我尝试使用 pagecreate 而不是使用 pageshow 但它不喜欢我,因为它在页面加载后仅触发 1 次,并且我需要在每次显示页面时触发事件。

0 投票
1 回答
2145 浏览

javascript - React 组件上的 pageshow 事件侦听器无法正常工作

我有以下场景,我需要在第一次进入页面或从另一个页面返回时运行一些“代码” 。

Safari 的缓存功能 ( https://webkit.org/blog/516/webkit-page-cache-ii-the-unload-event/ ) 导致了这种情况,因为它正在缓存我的页面而不执行任何操作

我按照他们的建议将事件侦听器添加到“pageshow”事件,这样我可以检查该事件是否持续存在,然后运行我需要的。

这个例子基本上是我想要的:

  • 第一页访问...附加监听器 = 酷,我有。
  • 如果我导航出页面并返回(使用 Safari),它将在 pageshow = Cool 上触发我的监听器,我有那个......几乎。
  • 每次我导航回该页面时都应该触发监听器 = 不酷,我的监听器会触发一次。

我正在使用 react 和componentDidMount()是我准备一切的地方:

在此处输入图像描述

它第一次工作..我能够导航出我的页面并返回它+执行我需要的东西。

问题是:第二次重复“导航出我的页面并返回”不会做任何事情..看起来监听器被删除或其他东西。

0 投票
0 回答
378 浏览

javascript - pageshow 和 onpopstate 在 ios 中不起作用

当我单击按钮提交内容时,它将具有显示 div 的功能

我正在尝试在 safari (iphone) 上使用 pageshow 事件来隐藏这个 div。但是使用后退按钮时它似乎只工作一次。

然后我尝试在 safari (iphone) 上使用 onpopstate 来隐藏这个 div,在 iphone5S 和 ios9 中它可以工作,但在 iphone6 和 ios10 中它不起作用。

0 投票
5 回答
910 浏览

javascript - PageTransitionEvent.persisted 何时评估为真?

我正在尝试检测我的当前页面是从缓存中加载还是新副本。

我在我的 body 标签上注册了 onPageShow 回调。我可以看到它被触发,但我无法产生 event.persisted 实际上是真的情况。

我什至将 Firefox 置于离线模式,我看到响应是从网络选项卡上的缓存中获取的,但 event.persisted 仍然是错误的。

0 投票
1 回答
64 浏览

javascript - html 页面是从磁盘缓存加载的,但 event.persisted 为 false

我的 javascript 文件中有这个:

但是如果我导航到另一个链接然后点击返回按钮,我的 html 页面将从磁盘缓存加载并且 event.persisted 为 false。有什么建议么?