博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
记录下小程序的webview分享内页
阅读量:5826 次
发布时间:2019-06-18

本文共 1446 字,大约阅读时间需要 4 分钟。

作者:last order

前言

第一次在掘金发文章,请大佬多多指教,来自一个萌新。

最近在做小程序,遇到了点小问题,就是小程序的webview内页分享,网上也去翻了下,也找到了答案,分享下答案。

实现思路

做的时候,遇到了2个问题:

  • 分享出去的地址404,说找不到页面
  • 分享出去的地址一直是首页
  1. 第一个问题

最开始的时候,点击分享,分享出去的页面一直说找不到页面,网上查找了下方案,说是webview地址的问题,最后也确实是这样,改成动态地址就ok了。

  1. 第二个问题

第二个问题,分享出去的页面一直是首页,实现思路是点击分享的时候,通过onShareAppMessage的一个options参数,里面有个webViewUrl,这个就是你当前的webview地址,把这个当成参数进行传递就行了,并通过wx.setStorageSync存储到本地,网页把需要传递的数据通过wx.postmessage发送给小程序,在小程序进行保存。

这时候,标题和分享信息已经拿到了,然后就是如何分享,之前我们已经在点击分享的时候拿到了url参数,需要注意的是小程序遇到#这个符号的话,会把后面的全部截掉,由于之前已经把url地址保存到了本地,我们只要处理就可以了,然后这样就可以分享了。

至于为什么需要用到本地存储,是因为分享的地址带#号,被微信给拦截掉了,就这样。

好了,具体就是这个样子了,如果有问题的话,在私聊我吧。第一次在掘金写文章,以后请多指教。

let url = wx.getStorageSync('web_url');    if (url) {      let address = 'https://www.baidu.com/'      let split = url.split(address)      let res = address + split[1]      console.log(res)      this.setData({        url: res      })    }onShareAppMessage: function (options) {    let that = this    wx.setStorageSync('web_url', options.webViewUrl)    let path = '/pages/index/index?return_url=' + options.webViewUrl    console.log(path, options)    return {      title: this.data.storeInfo.shop_name,      path: path,      success: function (res) {        // 转发成功        wx.showToast({          title: "转发成功",          icon: 'success',          duration: 2000        })      },      fail: function (res) {        console.log('失败')        console.log(res)      }    }  }复制代码

转载于:https://juejin.im/post/5c7780c26fb9a049e4136378

你可能感兴趣的文章
快速傅里叶变换FFT
查看>>
大数据常用基本算法
查看>>
JavaScript学习笔记(十三)——生成器(generator)
查看>>
hibernate保存失败
查看>>
MySQL增量订阅&消费组件Canal POC
查看>>
Sqlite多线程
查看>>
数据结构-时间复杂度
查看>>
对象与字符串相互转换
查看>>
[NOIp2017提高组]小凯的疑惑
查看>>
《C程序设计语言》练习1-5
查看>>
$\frac{dy}{dx}$ 是什么意思?
查看>>
Go开发之路(目录)
查看>>
RHEL6.5安装成功ORACLE11GR2之后,编写PROC程序出错解决方法
查看>>
(50)与magento集成
查看>>
Ubuntu设置python3为默认版本
查看>>
JsonCpp 的使用
查看>>
问题账户需求分析
查看>>
JavaSE-代码块
查看>>
爬取所有校园新闻
查看>>
32、SpringBoot-整合Dubbo
查看>>