美文网首页
App内嵌H5网页点击内部链接跳转问题处理

App内嵌H5网页点击内部链接跳转问题处理

作者: CarlXu | 来源:发表于2020-06-16 09:27 被阅读0次

    App内嵌H5网页点击内部链接解析重定向跳转到原生页面,然后返回后不能显示上一次加载的H5页面的问题

    需求描述: 在app里面的网页需要点击跳转到原生页面, 或者是通过重定向到原生页面等.

    原创<经过反复多次测验之后,发现如下>

    if let currentItemUrl = webView.backForwardList.currentItem?.url {
        needAutoPop = false
        XELogInfo("XEWebviewController currentItemUrl: \(currentItemUrl)")
    } else {
        needAutoPop =  true
        XELogInfo("XEWebviewController currentItemUrl: 为空")
    }
    decisionHandler(.cancel)
    

    注意: 这里通过webView.canGoBack来判断是不准的, decisionHandler(.cancel)会取消掉当前请求.

    如果 webView.backForwardList.currentItem?.url有值, 说明重定向之前肯定是加载的正常网页, 然后取消掉当前请求. 就实现了保持H5网页内容为跳转之前的功能需求, 反之 webView.backForwardList.currentItem?.url没有值, 说明当前链接是直接重定向到原生页面, 要过滤掉当前H5的控制器.

    相关文章

      网友评论

          本文标题:App内嵌H5网页点击内部链接跳转问题处理

          本文链接:https://www.haomeiwen.com/subject/ieklxktx.html