gg_help 2023-05-05 15:53 采纳率: 0%
浏览 14

如何从uniapp中的webview页面返回到uniapp的页面

如何从uniapp中的webview页面返回到uniapp的页面

  • 写回答

1条回答 默认 最新

  • Usinian 2023-05-05 16:43
    关注

    基于GPT
    在 uni-app 中,从 webview 页面返回到 uni-app 页面,需要在 webview 中触发一个返回事件,然后在 uni-app 中监听该事件并进行相应的处理。具体步骤如下:

    在 webview 页面中,可以使用 JavaScript 的 window.history.back() 方法来触发返回事件,例如:

    <button onclick="window.history.back()">返回</button>
    
    

    在 uni-app 中,可以通过监听 uni-app 的 backbutton 事件来处理从 webview 返回的操作。可以在 onLoad 方法中添加如下代码:

    onLoad() {
      uni.onBackPress(() => {
        const pages = getCurrentPages()
        if (pages.length > 1) {
          uni.navigateBack({ delta: 1 })
        } else {
          // 返回到 uni-app 的首页
          uni.switchTab({
            url: '/pages/index/index'
          })
        }
      })
    }
    
    

    在上述代码中,uni.onBackPress() 方法可以监听 backbutton 事件,当触发该事件时,会执行传入的回调函数。在回调函数中,可以通过 getCurrentPages() 方法获取当前页面栈,如果栈中存在多个页面,则通过 uni.navigateBack() 方法返回到前一个页面,否则通过 uni.switchTab() 方法返回到 uni-app 的首页。

    注意:需要在 webview 中设置 plus.webview.currentWebview().setStyle({softinputMode: "adjustResize"}),使得在 webview 中弹出键盘时,webview 不会占满整个屏幕。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月5日

悬赏问题

  • ¥20 关于#vue.js#的问题:后端返回的代码如下,根据后端返回的数据在页面上重新展示
  • ¥15 visual studio 社区版离线激活失败了
  • ¥30 python密码表示
  • ¥15 Flask应用部署到阿里云服务器失败,无法访问网页,问题出在哪里?
  • ¥15 有什么好的直流步进减速电机42的厂家推荐,保持力矩达到0.3N.M
  • ¥15 一道蓝桥杯的题,请问我错在哪里
  • ¥15 关于#android问题,xposed模块找不到so
  • ¥15 UE5.4.2创建C++项目成功,但是编译失败
  • ¥15 华为手机备份nas,airdisk,遇到的空间不足问题。求个详细的解决方案。
  • ¥20 Cknife无法使用