微信小程序内嵌网页实现分享功能

需求:小程序打开之后跳转到要跳转的地址<web-view src="跳转的地址"></web-view> ,然后实现所跳转的地址中每个网页都可以分享出去,分享出去的网页打开不再是回到初始化页面,而是分享的页面!
微信提供分享API是一个叫做 onShareAppMessage(options) 的方法
然后管它什么三七二十一的直接ctrl+C 、ctrl+v把示例给拷贝过来,然后把path换成分享的地址!结果 很明显 预览时候提示找不到路径?!!

请注意文档中有一句很重要的话就是:path 必须是 / 开头的完整路径

所以就开始上网找资料,找到一个微信小程序,实现内嵌网页的分享的博客!!!
然后分析了一下总结出来一个思路:
①首先在add.js文件中定义一个全局变量,存放内嵌网页的地址

globalData:{
	userinfo: null,
	ctxPath: "https://xxx"
}

② 然后新建一个 名为sharepage的文件夹,然后里边也是有一个share.js文件、一个sharepage.json文件、一个sharepage.wxml文件、一个sharepage.wxss文件
③ 在index.js文件中

var ctxPath = app.globalData.ctxPath; //内嵌网页的路径
页面加载时,

 onLoad: function (options) {
    let that = this;
    that.setData({
      web_src: ctxPath
    })
  },

分享操作:

onShareAppMessage: function (options) {
    let that = this
    let return_url = options.webViewUrl
    var path = 'pages/sharepage/sharepage?shareUrl=' + encodeURIComponent(return_url)
    // console.log("indexindex", path, options)
    return {
      title: '自定义标题',
      path: path,
      success: function (res) {
        // 转发成功
        wx.showToast({
          title: "转发成功",
          icon: 'success',
          duration: 2000
        })
      },
      fail: function (res) {
        // 转发失败
      }
    }
  },

④ 然后再index.wxml文件中<web-view src="{{web_src}}"></web-view> 加载内嵌网页
⑤ 在sharepage.wxml中附上代码<web-view src="{{share_src}}"></web-view>
⑥ 在sharepage.js中,页面加载时

onLoad: function (options) {
    let that = this;
    that.setData({
      share_src: decodeURIComponent(options.shareUrl),
    })
  }, 
  

然后如果还想实现把分享出去的页面还可以分享
再在sharepage.js中附加一样的分享操作的代码!

这样就可以实现分享功能了。

不要忘了给sharepage配置路由!

本文参考:https://blog.youkuaiyun.com/sennyla/article/details/80022187

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值