微信小程序-ios环境下webview打开的h5页面replace跳转方式不生效问题

如题:

我的webview页面打开的h5页面是一个中间页,中间页进行一系列判断逻辑后,会跳转最终的目标页。

但是这个中间页的逻辑只能执行一次,我不希望用户点击返回上一页时再回到这个页面。

因此,我使用 location.replace(url) 方式跳转页面。

但是在 ios 环境,我发现 location.replace() 跳转后的表现跟location.href 一样,在返回上一页时,仍然回到了这个中间页。

导致页面逻辑再次执行,发生错误。

解决方案:

使用 history.replaceState(newState, '', newUrl) + location.reload 替代 location.replace,重新封装一个replace方法。

javascript 复制代码
function locationReplaceUrl(url) {
	// 判断是否为iOS环境
  	const isIOS = /(iPhone|iPad|iPod)/i.test(navigator.userAgent) && !window.MSStream; // 排除IE/Edge
  	if(isIOS) {
  		try {
			// 替换当前历史记录条目,url可以是相对路径或绝对路径
    		history.replaceState(null, '', url);
    		location.reload();
		} catch (err) {
			location.replace(url);
		}
	}else {
		location.replace(url);
	}
}
相关推荐
txc10 小时前
我用 AI 给两个人写了个微信小程序:共享清单、记账和纪念日
微信小程序
考拉讲支付17 小时前
母婴亲子服务平台分账架构设计:多场景多方分账与合规清结算实践
大数据·运维·人工智能·微信小程序·架构·微信公众平台
拖孩17 小时前
AI 帮我写的小程序「厨菜记」上线满月了,挣了两百块!!!
前端·后端·微信小程序
茶底世界之下18 小时前
林间步道要不要加暗角?用 Awaking 把强度收在20%
前端·ios·图片资源
season_zhu18 小时前
Skills For Real Engineers 系列之一:先配好项目,再让 ask-matt 帮我选技能
ios·openai·ai编程
喵喵虫18 小时前
汉字笔顺笔画元数据导出 JSON
小程序·json·元数据·汉字·笔顺·笔画
seconp19 小时前
计算机毕设做什么项目?整理了 80 个 Web、小程序、AI 与数据方向
前端·小程序·课程设计
疯狂敲代码的老刘21 小时前
d2r-mobile:3.2千星开源暗黑破坏神2 iOS兼容层,3天冲上GitHub日榜
ios·github
程序员小孔.21 小时前
基于 SpringBoot + UniApp + Vue 的家政服务系统设计与实现
前端·数据库·spring boot·python·docker·微信小程序
黑科技iOS上架1 天前
App Store5.6隐藏功能究竟怎么排查?
ios·审核