• 支付宝小程序webview里的h5跳转回小程序


    支付宝小程序的webview支持重新跳转回小程序原生页面。

    1、h5页面手动引入 `https://appx/web-view.min.js` (此链接仅支持在支付宝客户端内访问);

    2、直接调用 my.navigateTo 接口即可跳转回小程序原生页面

    <script type="text/javascript" src="https://appx/web-view.min.js"></script>
    <!-- 如该 H5 页面需要同时在非支付宝客户端内使用,为避免该请求404,可参考以下写法 -->
    <!-- 请尽量在 html 头部执行以下脚本 -->
    <script>
      if (navigator.userAgent.indexOf('AlipayClient') > -1) {
        document.writeln('<script src="https://appx/web-view.min.js"' + '>' + '<' + '/' + 'script>');
      }
    </script>
    
    <script>
      my.navigateTo({url: '../get-user-info/get-user-info'});
      // 网页向小程序 postMessage 消息
      my.postMessage({name:"测试web-view"});
      // 接收来自小程序的消息。
      my.onMessage = function(e) {
        console.log(e); // {'sendToWebView': '1'}
      }
      // 判断是否运行在小程序环境里
      my.getEnv(function(res) {
        console.log(res.miniprogram) // true
      });
      my.startShare();
    </script>

    3、my.postMessage 信息发送后,小程序页面接收信息时,会执行 onMessage 配置的方法:

    <!-- .axml -->
    <view>
      <web-view id="web-view-1" src="..." onMessage="test"></web-view>
    </view>
    // 小程序页面对应的 page.js 声明 test 方法,
    // 由于 page.axml 里的 web-view 组件设置了 onMessage="test",
    // 当页面里执行完 my.postMessage 后,test 方法会被执行
    Page({
      onLoad(e){
        this.webViewContext = my.createWebViewContext('web-view-1');    
      },
      test(e){
        my.alert({
          content:JSON.stringify(e.detail),
        });  
        this.webViewContext.postMessage({'sendToWebView': '1'});
      },
    });
  • 相关阅读:
    mysql 5.6
    mysql5.7 二进制包安装
    centos 6 编译安装httpd-2.4
    mysql 5.5源码包安装
    BZOJ4945 & 洛谷3825 & UOJ317:[NOI2017]游戏——题解
    BZOJ4943 & 洛谷3823 & UOJ315:[NOI2017]蚯蚓排队——题解
    BZOJ3435 & 洛谷3920 & UOJ55:[WC2014]紫荆花之恋
    BZOJ5343 & 洛谷4602 & LOJ2555:[CTSC2018]混合果汁——题解
    真·APIO2018滚粗记
    BZOJ4518:[SDOI2016]征途——题解
  • 原文地址:https://www.cnblogs.com/gavinjay/p/13359400.html
Copyright © 2020-2023  润新知