zoukankan      html  css  js  c++  java
  • 小程序内h5页面,完成分享

    小程序内直联h5的页面(pages/webview/webview.js),该页面为的容器,使用组件

     <web-view wx:if="{{h5url}}" src="{{h5url}}" bindmessage="h5PostMessage" ></web-view>
    

    需要bindmessage事件和postMessage方法

    bindmessage:网页向小程序 postMessage 时,会在特定时机(小程序后退、组件销毁、分享)触发并收到消息。e.detail = { data }

    也就是说,该事件的触发时机只有三种,是延迟的。

    可以将分享的数据通过该事件获取。
    1、如何分享这个h5页面
    在pages/webview/webview.js这个容器页面需要定义两个事件:

    //h5向小程序发送的数据
    h5PostMessage: function (e) {
        this.h5Data=  e.detail.data;  //当用户点击这个h5页面的分享时获取到
    },
    
    // 用户点击右上角分享
    onShareAppMessage: function (options) {
        return {
          title: this.h5Data.title,
          desc: this.h5Data.desc,,
          path: this.h5Data.path
        }
    }
    

    h5.js 中使用微信提供的jssdk中的方法

    //该方法在页面create完成之后就可以调用,不需要事件去触发,提前将信息发出去,等到点击分享的时候就可以获取到这个信息了
    wx.miniProgram.postMessage({
        data: {
                    title: '分享的标题',
                    desc:'分享的描述',
                    path:'/pages/share/share.js?data='+JSON.stringfy({url:encodeURIComponent('当前h5页面的url地址')}) //重点,share.js是小程序的页面中,从分享进入的h5的落地页
            
    });
    

    在小程序中需要两个页面,来做web-view 的容器,一个是内联的h5页面,一个是分享出去后,从分享进入的页面

    以上是分享的流程

    2、怎么从分享进入时,使页面显示的是分享的h5页面
    在/pages/share/share.wxml中

    <web-view wx:if="{{h5url}}" src="{{h5url}}"></web-view>
    

    在/pages/share/share.js中:

    onLoad: function (options) {
            var data = options.data;//postMessage path中带的url 参数
            var url =decodeURIComponent(data.url);
            this.setData({url:url});
            
    },
    
    // 用户点击右上角分享 
      onShareAppMessage: function (options) {
        var path = '/pages/share/share.js';
    
        var url = encodeURIComponent(options.webViewUrl); 
           path += '?data=' + JSON.stringify({ url: url }); 
        return { path: path }; 
    }
    
    爱生活、爱编程!
  • 相关阅读:
    Metasploit:一颗没有发现的珍珠
    每个人都用自己的方式去爱自己在乎的人
    设计模式学习使用go实现原型模式 Zhan
    设计模式学习使用go实现代理模式 Zhan
    设计模式学习使用go实现桥接模式 Zhan
    设计模式学习使用go实现建造者模式 Zhan
    多internet出口浮动静态+IP SLA track
    使用 IP SLA 跟踪配置基于策略的路由 (PBR) 自动重定向流量
    使用IP SLA配置静态路由跟踪(基本)
    (转)PBR路由策略配置
  • 原文地址:https://www.cnblogs.com/liliuyu/p/14447471.html
Copyright © 2011-2022 走看看