uniapp h5项目页面中使用了iframe导致浏览器返回按键无法使用, 返回不了上一页.

uniapp h5项目页面中使用了iframe导致浏览器返回按键无法使用, 返回不了上一页.

在 UniApp 中使用 iframe 加载外部页面时,可能会遇到返回键行为不符合预期的问题。这是因为 iframe 本身可以包含多个页面的历史记录,而默认情况下,浏览器的返回键会控制 iframe 内部页面的历史记录,而不是外部页面的历史记录。

解决方案(禁用 iframe 的历史记录)

html 复制代码
<template>

  <view>

    <iframe ref="myIframe" :src="iframeSrc" frameborder="0" @load="onIframeLoad"></iframe>

  </view>

</template>


<script>

export default {

  data() {

    return {
      iframeSrc: 'http://example.com',
    };

  },

  methods: {

    onIframeLoad(event) {
	  if(this.$refs.myIframe.contentWindow){
		// 禁用 iframe 中的历史记录
		this.$refs.myIframe.contentWindow.history.pushState({}, '');
		this.$refs.myIframe.contentWindow.onpopstate = (event) => {
			event.preventDefault();
			// 跳转到上一页
			uni.switchTab({
				url: "/pages/index/index",
			});
		};
	  }
    },
  }
};

</script>
相关推荐
可乐鸡翅yeah_5 分钟前
多浏览器 HLS 兼容性差异排查,Chrome、Firefox、Safari 表现不一致定位
chrome·ffmpeg·音视频·firefox·safari·m3u8
用户9701615016810 分钟前
浏览器切到后台后,AI 给我的代码就失效了:我拿 3 个模型测了 6 个定时器坑
前端·代码规范
蓝星空200015 分钟前
GPT Image 2.5 生图模型已上线,支持 Flare 与 Sunburst 型号选择
前端·gpt·aigc·image2·imagen
何何____27 分钟前
js常见继承方法详解
前端·javascript
parade岁月32 分钟前
Tailwind CSS 加入 Shopify,正在用 Tailwind 的项目要不要调整?
前端
梨想橙汁1 小时前
Vue2 快速入门:环境搭建、模板语法、指令系统全解
前端·vue.js
King of fraud1 小时前
HTML 页面的 CSS 选择器详解
前端·css·html
lichenyang4531 小时前
ASCF 元服务如何区分“后台恢复”与“携参拉起”:后台标记 + 参数指纹方案
前端
前端 贾公子1 小时前
Milvus使用指南 (下)
java·服务器·前端
用户2462035827811 小时前
TypeScript类型建模与前后端错误码协议:手机号绑定场景的工程实践
前端