当前位置: 首页 > 知识库问答 >
问题:

javascript - QQ环境内popstate无法监听吗?

和选
2023-07-08

场景是用户在网页中返回的时候对用户做一下挽留,采用了window.history.pushState方法,结果在微信和QQ浏览器中都可以正常挽留,但是在QQ聊天对话框中直接点进去链接就不行。
排查了一下是window.onpopstate方法监听不到,各位大佬有遇到过的吗?

我是直接使用mdn上的例子测试的

<script>
window.onpopstate = function(event) {
    alert("location: " + document.location + ", state: " + JSON.stringify(event.state));
};
history.pushState({page: 1}, "title 1", "?page=1");
history.pushState({page: 2}, "title 2", "?page=2");
history.replaceState({page: 3}, "title 3", "?page=3");
</script>

上段代码在其它浏览器中返回的时候都会弹框(由于浏览器限制,需要点击一下页面任意地方),唯独在QQ聊天中打开的网页不行。

共有1个答案

史同化
2023-07-08

看看监听 pageshow 或 pagehide这两个事件行不行

 类似资料:
  • 本文向大家介绍Javascript添加监听与删除监听用法详解,包括了Javascript添加监听与删除监听用法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Javascript添加监听与删除监听的用法。分享给大家供大家参考。具体分析如下: js中事件监听就是利用addEventListener来绑定一个事件,这个用法在jquery中非常常用并且简单,但在原生js中比较复杂,这里整理了

  • 更新时间:2018-10-30 11:32:46 简介 本文介绍一个模拟”环境监测“的简单常用示例,搭载 AliOS Things 的设备,并结合 Link Develop (以下简称LD) 可快速实现手机远程打开web app进行环境监测。 本示例源码: env_monitor env_monitor ├── devkit_display │ ├── AliOS_Things_logo.c

  • 我在aws上有3台服务器。每个开放jdk 7和zookeeper 3.4.6都有独特的弹性ip。每个形态/动物园。cfg有 客户端端口=2181 然后我从开始/zkServer。sh start(说STARTED)和动物园管理员。out表示 所以它不能打开端口。我最终在aws安全上打开了所有端口以排除这种情况。 telnet进入2181年,ruok获得imok telnet到2888无法连接。连接

  • ap.onNetworkChange(CALLBACK) 监听网络环境发生变化的事件。 CALLBACK 参数说明 和ap.getNetworkType()返回值一致 名称 类型 描述 networkAvailable Boolean 网络是否可用 networkType String 网络类型值 UNKNOWN / NOTREACHABLE / WIFI / 3G / 2G / 4G / WWA

  • 在JavaScript中是否可以监听属性值的更改?例如: 我想响应属性中的任何更改。 我已经阅读了对象,以及该对象的替代对象(包括使用动画事件的对象)。据我所知,它们是关于实际DOM的更改。我更感兴趣的是对一个特定DOM元素的属性更改,所以我不认为仅此而已。当然,在我的实验中,这似乎不起作用。 我希望在没有jQuery的情况下这样做。 谢谢

  • Listener架构概述 Listener Listener.DrainType (Enum) Filter FilterChainMatch FilterChain Listener Listener proto { "name": "...", "address": "{...}", "filter_chains": [], "use_original_dst": "{...}