微信小程序内联h5页面,实现分享

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

  <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中的方法

wx.miniProgram.postMessage({
    data: {
                title: ‘分享的标题‘,
                desc:‘分享的描述‘,
                path:‘/pages/share/share.js?data=‘+JSON.stringfy({url:encodeURIComponent(‘当前h5页面的url地址‘)}) //重点,share.js是小程序文件中从分享进入的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 }; }

原文地址:https://www.cnblogs.com/panyujun/p/9791220.html

时间: 2024-11-10 09:27:13

微信小程序内联h5页面,实现分享的相关文章

小程序-web-view嵌入H5页面遇到的bug

遇到的问题1:ios页面中,内容过多时有下滑真是功能,但是下滑的时候回看到底部的微信自带的灰色背景及H5的域名(ios的webview中上/下拉露出黑灰色背景问题) 解决办法:给body添加样式----body:{position:fixed;top:0;left:0;width:100%;}    //亲测有效 遇到的问题2:在ios中若是存在多个H5页面跳转,页面会出现这种情况,黄色圈起的部分优势小程序全套的H5页面,此时进行了2个页面的跳转,但是在第二个H5页面,手指触屏左到有拖动时,会同

微信小程序内嵌网页的一些(最佳)实践

前言 3 个月前,微信小程序推出了 web-view 组件引发了一波小高潮,笔者所在的大前端团队写过一篇浅析,详情可见:浅谈微信小程序前端生态. 我们曾大胆猜想,这一功能,可能直接导致小程序数量增长迎来一波高峰. 毕竟磨刀霍霍却一直资源不足的团队应该不少,现在可以把已有 H5 应用嵌入到小程序 web-view 容器中,以最低的开发成本坐蹭微信流量红利,何乐而不为呢? 我们也曾畅想也许"小程序页面+ web 页"混合开发(甚至 web 更重)会成为以后的新趋势. 2M 代码限制(如今已

小程序内嵌H5——判断小程序环境的坑

现在各种小程序风靡,这边H5的需求还没有搞定,产品又要求做小程序版本,做可以,关键是618前上线,我-- whatever,618要做推广,日期订了,剩下的就只能是排期,定方案,尽可能完成. 最后和产品商量之后的决定是:小程序中特有的营销推广的页面,用小程序编写,剩下的黄金流程,内嵌H5解决. 听起来好像很简单,but,没有想象中那么简单. 判断是否在小程序中 这个问题,网上一搜,答案很多,有说用UA的,有说用微信注入的JS对象的,有说用原生提供判断方法的. UA的有一个很大的问题,iOS判断不

基于Node.js+MySQL开发的开源微信小程序B2C商城(页面高仿网易严选)

高仿网易严选的微信小程序商城(微信小程序客户端) 界面高仿网易严选商城(主要是2016年wap版) 测试数据采集自网易严选商城 功能和数据库参考ecshop 服务端api基于Node.js+ThinkJS+MySQL 计划添加基于Vue.js的后台管理系统.PC版.Wap版 GitHub: https://github.com/tumobi/nideshop-mini-program 项目截图 首页 专题 分类 商品列表 商品详情 购物车 订单中心 功能列表 首页 分类首页.分类商品.新品首发.

[小程序开发] 微信小程序内嵌网页web-view开发教程

为了便于开发者灵活配置小程序,微信小程序开放了内嵌网页能力.这意味着小程序的内容不再局限于pages和large,我们可以借助内嵌网页丰富小程序的内容.下面附上详细的开发教程(含视频操作以及注意事项) 一.小程序内嵌网页web-view教程 1) 微信公众平台,登录小程序账号 2) 左侧-设置-开发设置-业务域名-配置 3) 小程序管理员微信扫码 4) 填写小程序业务域名,域名需ICP备案 5) 下载校检文件上传至服务器指定目录,保存 6) 小程序业务域名配置完成7) 打开微信开发者工具,添加小

微信小程序开发07-列表页面怎么做

接上文:微信小程序开发06-一个业务页面的完成 github地址:https://github.com/yexiaochai/wxdemo 我们首页功能基本完成,我对比了下实际工作中的需求,完成度有70%以上,如果再花一两天时间,便能跟之前工作做的差不多了,今天我们继续实现一个页面列表,便结束这次的学习,后面几天要出差,所以总结性的文章本周未必能出来,静待下周吧. 这里考虑demo复杂度,列表页功能完成度也仅仅完成主功能模块,与真实工作完成度对比60%左右吧,于是我们开始愉快的代码,首先是将我们

如何使用微信小程序开发一个弹窗页面(附源码)

在小程序的开发过程中,我们肯定会遇到开发一个弹窗页面的情况,我们先看一下小程序官方对于弹窗页面的解释.API的接口如下 从官方给出的代码示例来看,想当简单,就像一个asert,并不能看出弹窗的真实需求.所以今天HTML51.COM就写了一个弹窗小程序教程,供大家学习参考.首页我们先看一下动态的效果图: 我们首先看到的是首页代码: <view class="copyright"> <view class="copyright_item">Cop

微信小程序内训笔记

2016年9月22日凌晨微信官方正式宣布“小程序”开始内测,有“微信之父”之称.腾讯集团高级执行副总裁张小龙在2016年末对外宣布“小程序“应用将于2017年1月9日正式推出 这一次微信还是按照惯例,通过机器跑出的数据,首先将“小程序”开放给了200名拥有微信服务号的开发者进行内测,而且目前开发者发布的小程序无法在用户的客户端显示 简单说,微信“小程序”可以为开发者提供基于微信的表单.导航.地图.媒体和位置等开发组件,让他们在微信的网页里构建一个HTML 5应用.同时微信还开放了登录和微信支付等

浅谈高大上的微信小程序中渲染html内容—技术分享

大部分Web应用的富文本内容都是以HTML字符串的形式存储的,通过HTML文档去展示HTML内容自然没有问题.但是,在微信小程序(下文简称为「小程序」)中,应当如何渲染这部分内容呢? 解决方案 wxParse 小程序刚上线那会儿,是无法直接渲染HTML内容的,于是就诞生了一个叫做「 wxParse 」的库.它的原理就是把HTML代码解析成树结构的数据,再通过小程序的模板把该数据渲染出来. rich-text 前端精品教程:百度网盘下载 后来,小程序增加了「rich-text」组件用于展示富文本内