swift WkWebView的返回,goback,跳过同级

在使用wkwebview的时候,需要增加顶部的返回图标,可以直接调用gaback函数,但是在web页中,同一页的不同tab也会被压入返回的backForwardList.backlist中,所以导致点击返回图标会停留在同一页面。针对这个bug的解决方法如下。

@objc private func onBack(sender: UIBarButtonItem) {guard let webview = wkWebView else { return }if(webview.canGoBack) {var backlist = webview.backForwardList.backList  // 获得存储的栈var lastItem = backlist.popLast()  let currentItem = webview.backForwardList.currentItemwhile(lastItem?.url.relativePath == currentItem?.url.relativePath) {  // 比较返回页和当前页的url的realtive部分,相同的话就不断的弹出栈lastItem = backlist.popLast()}if let lastitem = lastItem {webview.go(to: lastitem)     // 调用go函数,直接调转到要返回的web页backlist.popLast()     // 因为上面调用了go函数,backlist中会增加此次web跳转,所以弹出此次跳转} else {navigationController?.popViewController(animated: true)}} else {navigationController?.popViewController(animated: true)}}

swift WkWebView的返回,goback,跳过同级相关推荐

  1. Kotlin 5 控制流,返回和跳转

    注:当前文档为Kotlin自学总结,若什么地方含义模糊不清,敬请指教,谢谢:-). 目录:- 控制流-循环和控制语句- 返回和跳转-return,continue,break 复制代码 控制流 if: ...

  2. js拦截物联返回键跳转到指定页面

    js网页拦截物联返回键跳转到指定页面 <script type="text/javascript"> $(document).ready(function () {if ...

  3. html5手机返回按钮跳转到指定页面问题

    最近在做活动的时候有一个这样的场景,在主页面点击跳出一个弹层表单,填写完信息后,点击确认跳转到指定的展示页面了.这时候在手机端点击浏览器自带的返回按钮后,回到主页面,这时候主页面无法刷新,弹层信息还在 ...

  4. iOS WKWebView H5微信支付跳转

    iOS WKWebView H5微信支付跳转 需求:iOS客户端实现嵌入H5进行微信支付跳转到微信客户端,支付完成后再跳转回我们的APP,解决WKWebView无法跳转回APP的BUG. 阅读前提: ...

  5. 浏览器返回按钮跳转到指定页面

    浏览器返回按钮跳转到指定页面 在使用手机浏览器打开网页时,我们会发现有时候点击浏览器下方的返回按钮,并未返回到首页,而是会跳转到其他页面. 怎么实现呢,下面跟大家简单分享一下: 1.改变浏览器回退的历 ...

  6. React-Navigation的goBack()跳转到指定页面,以及不同栈之间的页面的返回操作

    背景: 在做项目时使用React-Navigation进行页面管理.有两个需求 1:在我的中进入界面,从主界面A进入B,B进入C,C进入D,在D中点击返回键要求直接返回到A中. 2:从当前的通讯录中的 ...

  7. Swift WKWebView详细解读

    github地址:https://github.com/LINGLemon/LXFSwiftApp 1.基本方法和属性 首先介绍下WKWebView的一些常用的方法和属性: 实际使用中,一般还要搭配使 ...

  8. Swift WKWebView

    文章目录 准备 添加权限 import 设置根视图 一些方法 设置JS的三个弹出框为iOS原生alert alert() 警告框 confirm() 确认框 prompt() 输入框 添加小菊花 设置 ...

  9. [Swift]WKWebView与JS交互

    本文通过一个实例介绍了几种App与Web交互的情形: 1.同步返回参数给Web. 比如App提供方法返回token, Web中在需要的时候即时拿取. 2.Web异步调用App提供的方法. 使用这种方式 ...

最新文章

  1. redis -Spring与Jedis集群 Sentinel
  2. 集合框架Map、List、Set
  3. ai钢笔工具怎么描线_骨灰级的AI钢笔工具运用技巧
  4. caffe+GAN︱PPGN生成模型5则官方案例(caffe版)
  5. Android笔记:触摸事件的分析与总结----TouchEvent处理机制
  6. 放大电路的分析方法详解
  7. mysql的update条件语句_MySQL UPDATE语句介绍
  8. PHP图片与文字合成
  9. ACE认证考试—阿里云产品概念深化学习
  10. 扇贝单词里有计算机英语吗,扇贝单词英语版电脑版
  11. python热力图转灰度图_热力图(HeatMap)实现
  12. Monocular Human Pose Estimation: A Survey of Deep Learning-based Methods
  13. 单链表的定义、特点、结构及其一些基本操作
  14. Krpano全景图制作教程
  15. FPGA国内外发展现状
  16. windows清理c盘的三种有效方法
  17. 不用电的计算机(一)
  18. 用yolo3训练自己的数据集(包含数据搜集,图片标注,图片批量命名以及如何修改代码)——口罩佩戴以及规范佩戴口罩检验
  19. android平板能玩吃鸡吗,吃鸡不卡的安卓平板
  20. 高血糖可以吃哪些零食

热门文章

  1. 哪些行业是离散制造?哪些是流程制造?他们有什么区别?
  2. Vue3的生命周期的使用
  3. DDOS攻击防护HTTP篇
  4. 用函数求出平均分、最高分和最低分
  5. java基础 io流 字节流 字符流 节点流 包装流 转换流 缓冲流 对象流 打印流 Properties类
  6. 【前端小白的每日一点】
  7. BitLocker上锁
  8. 自动跟圈,不要来回编辑的偷懒小技巧
  9. 微软的苹果香味——专访微软MacBU组成员
  10. 幼儿园作业(毕业季)