web-view嵌入网页分享,有二种分享情况

1、小程序分享出当前打开的页面
           2、部分页面要求,分享指定页面,而不是当前的页面

以下是代码部分

一、web-view内嵌公众号网页中添加代码

1.引入js

<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
2.跳转到小程序中页面----在 分享页面是指定页面,而不是分享当前页面的网页中 加入

var isMiniprogram = false
// 判断是否是小程序打开
wx.miniProgram.getEnv((res) => {
     if (res.miniprogram) {//在小程序中
        isMiniprogram = true
     }
});
var url=要打开的网页链接url
 
// 是小程序打开,并且不是小程序已经重新加载过的网址--避免死循环
if (isMiniprogram && this.$route.query.platform != "miniprogram") {
    url = encodeURIComponent(url);  // 注意需要urlencode
    // 跳转到小程序页面,并在小程序中打开url页
    // 注意要使用wx.miniProgram.redirectTo,其它方法试了不行
    wx.miniProgram.redirectTo({url: '/pages/index/index?return_url='+url+'&share_url=要分享的链接(当要分享的页面不是要打开的页面时使用)&share_title=要分享标题' })

// 非小程序打开正常跳转
else {
    window.location.href=url;
}
二、小程序中代码处理

1、index.wxml中代码

src后加#wechat_redirect,是为了解决:在iOS中JSSDK接口调用无响应的情况

<!--index.wxml -->
<view class="container">
  <web-view src="{{web_src}}#wechat_redirect" />
</view>
2、index.js中代码

//获取应用实例
const app = getApp()
 
Page({
  data: {
    web_src:'', // 嵌入的网址
    sharetitle:'', // 指定分享的标题
    share_src:'',  // 指定分享的网址
  },
  //事件处理函数
  bindViewTap: function() {
    wx.navigateTo({
      url: '../logs/logs'
    })
  },
  onLoad: function (options) {
    // 指定分享页面,即分享页,非当前页时
    if (options.return_url) {
      var web_url = decodeURIComponent(options.return_url);
      // 网址中加参数标记是小程序重新载入的
      web_url += web_url.indexOf('?') == -1 ? '?' : '&';
      web_url += 'platform=miniprogram';
 
      var share_url = decodeURIComponent(options.share_url);
    } else {
      var web_url = '网站首页'
      var share_url = web_url;
    }
    
    this.setData({
      web_src: web_url,
      share_src: share_url,
      sharetitle: options.sharetitle ? options.sharetitle : '',
    }, function () {
 
    });
  },
  // 分享
  onShareAppMessage(options) {
    var that = this
    var share_src = that.data.share_src
    // 分享标题-有指定分享标题时就使用指定的,没有使用默认的
    var title = that.data.sharetitle ? that.data.sharetitle : that.data.title;
 
    // 当嵌入网址是重新载入时,更新分享链接为当前网址
    if (options.webViewUrl.indexOf('miniprogram') == -1) {
      share_src = options.webViewUrl
      title = that.data.title;
    }
    var path = '/pages/share/share?return_url=' + encodeURIComponent(share_src);
 
    return {
      title: title,
      path: path,
      success: function (res) {
      }
    }
  },
})

微信小程序web-view内嵌公众号网页分享功能实现相关推荐

  1. 微信小程序与H5内嵌网页交互实现地图定位功能

    小程序中有很多好用的API,整个项目我们是用vue实现的,使用小程序的内嵌网页功能完成交互. 使用小程序的< web-view >标签将vue项目在小程序中运行.大概的背景就是这样.接下来 ...

  2. (已更新)全新商城微信小程序源码支持对接公众号

    运行环境Linux+Nginx+PHP7.4+MySQL(5.6|5.7) 一键安装 1.上传你的代码 2.项目目录设置755权限 3.设置伪静态规则(nginx 推荐使用) 复制代码location ...

  3. 全新商城微信小程序源码支持对接公众号

    运行环境 Linux+Nginx+PHP7.4+MySQL(5.6|5.7) 项目介绍 Leadshop是一款提供持续更新迭代服务的免费商城系统,旨在打造极致的用户体验!Leadshop由浙江禾成云计 ...

  4. 公众号分享页面php,微信公众号网页分享功能开发的示例代码

    现在每天都可以看到很多微信分享的链接上面有网站或者商家的自定义的分享标题,和分享链接的描述及分享出去的图像,例如下面的分享出去的链接: 上面这个是微信的js-SDK页面分享给微信好友在聊天列表中显示的 ...

  5. 微信小程序,实现内嵌网页的分享

    自从微信小程序支持内嵌网页之后,呼声高涨得不得了.的确,这个确实让我开发我们公司的小程序高效了很多,主要是可以引入现有的功能完整的普通网页. 需求是这样子的:小程序启动授权等操作成功后直接跳转到内嵌网 ...

  6. 微信小程序获取其从属关联公众号openid的思路

    间隔很长时间之后的第一篇博客 最近做的关于微信公众号和小程序的项目比较多,这里先写一下如何通过微信公众号关联的小程序的openid获取其微信公众号的openid,以完成推送消息模板之类的操作,相反操作 ...

  7. 【小程序】微信小程序中实现【关注公众号】弹窗

    1.效果,注意,在开发工具中并不显示公众号信息,只有在体验版和正式版中才能看到! 2.wxml代码实现 <!-- 关注公众号弹出 --> <view wx:if="{{is ...

  8. 微信公众号网页分享功能开发

    现在每天都可以看到很多微信分享的链接上面有网站或者商家的自定义的分享标题,和分享链接的描述及分享出去的图像,例如下面的分享出去的链接: 上面这个是微信的js-SDK页面分享给微信好友在聊天列表中显示的 ...

  9. 控制微信小程序web view的返回按钮

    需求:点击web-view页面的左上角返回按钮时,显示弹窗,点击取消或确认后才能返回.(实际上点击返回按钮会直接返回上一页) 解决方法:由于webview使用的是微信浏览器打开的,我们可以使用js的H ...

最新文章

  1. Blender+SP+UE5游戏艺术工作流程学习
  2. 某程序员哀叹:自己薪资远远超过了能力,想跳槽又怕外面接不住,怎么办?...
  3. RabbitMQ ——“Hello World”
  4. orcle 删除表报正在使用_ORA-14452:试图创建,更改或删除正在使用的临时表中的索引...
  5. 微信外卖小程序 怎么计算与客户的距离_微信小程序结合腾讯位置服务实现用户商家距离计算...
  6. 【转】gcc/g++ 链接库的编译与链接
  7. CSS——设置第一个以外的元素样式:not(:first-child),设置最后一个除外的元素样式:not(:last-child)
  8. tcp协议报文和三次握手与四次挥手
  9. 指令:当文字显示不全时显示tooltip提示框
  10. mysql里查询中文条件_Mysql对中文查询条件出现的问题
  11. 状语从句不是简单句_简单句、并列句、复合句
  12. 实现xtrabackup全量备份与全量恢复
  13. WhatsApp有效号码筛选器WhatsApp频道号WhatsApp群发助手
  14. 细胞亚器互作综述解读~~~The secret conversations inside cells
  15. 计量经济学之格兰杰因果关系检验(Granger causality test)
  16. VM ware安装Cent OS系统并配置静态IP
  17. 女生适合做测试吗?看完这篇文章你就懂了
  18. CameraView Android 相机预览控件
  19. box-shadow单边
  20. 使用spire.doc实现word文档合并

热门文章

  1. 怎么用计算机求优秀比,计算机考试字处理求所占比值用什么公式
  2. 首发“长辈款”私有云,极空间Z2S/新Z4引领行业变革
  3. SSD的使用寿命一般有多久
  4. 2023美国大学生数学建模竞赛E题光污染完整数据集和求解代码分享
  5. python拍照搜题_Python数据分析实践,中国大学MOOC(慕课)答案公众号搜题
  6. 软驱光碟安装linux系统,无光驱和软驱安装debian的方法
  7. 计算机科学和统计专业排名,2021统计学专业大学排名 哪个学校最好
  8. 激光旋律(Laser melody)
  9. python高分书籍推荐_史上最全的Python书排行榜|你想知道的都在这里
  10. 超越自我,明白混清醒