当前位置: 首页 > news >正文

做网站怎么拿框架的原代码珠海seo关键词排名

做网站怎么拿框架的原代码,珠海seo关键词排名,wordpress 数据库建立,dw网页设计全称项目背景 最近有个讨论区项目需要补充分享功能,希望可以支持在微信小程序进行分享,讨论区是基于react的h5项目,在小程序中是使用we-view进行承载的 可行性 目标是在打开web-view的页面进行分享,那就需要涉及h5和小程序的通讯问…

项目背景

最近有个讨论区项目需要补充分享功能,希望可以支持在微信小程序进行分享,讨论区是基于react的h5项目,在小程序中是使用we-view进行承载的

可行性

目标是在打开web-view的页面进行分享,那就需要涉及h5和小程序的通讯问题,查看官方文档:

  1. 网页向小程序 postMessage 时,可以通过bindmessage获取post的信息
  2. 只有在特定的场景下才会触发bindmessage,例如小程序后退、组件销毁、分享、复制链接等,刚好满足分享的场景
    在这里插入图片描述
  3. h5端如何post信息
    在这里插入图片描述

基于postMessage和bindmessage进行开发

h5代码

注意:我这里是为了方便演示,所以点击按钮才post内容,可以结合自身需求,也可以在加载成功就post数据

  1. 环境区分:通过判断是否在小程序环境navigator.userAgent.includes(“miniProgram”)
  2. 动态判断是否有miniProgram:if (!window[“wx”] || !window[“wx”].miniProgram) { return }
  3. post信息
import React from "react"
import "./WebView.less"const shareData = {title: "测试h5分享",path: "https://developers.weixin.qq.com/miniprogram/dev/component/web-view.html",imageUrl: "https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg",
}const WebView = () => {const handleSetShareOptions = () => {// 判断是否再微信小程序环境const userAgent = navigator.userAgentconst isInMiniProgram =  userAgent.includes("miniProgram")if (!isInMiniProgram) { return }if (!window["wx"] || !window["wx"].miniProgram) { return }window["wx"].miniProgram.postMessage({data: shareData,});}return <div className="web-view-page"><div className="title">我是h5页面</div><div className="share-content"><div className="content"><div className="content-title">分享内容:</div><div className="main"><div className="item">分享标题:{shareData.title}</div><div className="item">分享路径:微信webView文档:{shareData.path}</div><div className="item">分享封面图:<img src={shareData.imageUrl} alt='' className='icon-btn' /></div></div></div></div><div onClick={handleSetShareOptions} className="share-container"><img src={require("./icon-share.png").default} alt='' className='icon-btn' /><span>点击设置分享</span></div></div>
}export default WebView

小程序代码

  1. 这个newPage是用于承载所有的h5页面的,url应该都是读路由的数据,这里为了方便样式,直接给url赋默认值
  2. 动态读取url:在onLoad时候,获取options的url,并进行赋值
  3. 获取h5 post的信息,有两个点需要注意
    • e.detail.data是一个数组,post的数据会保存在该数组中,所以需要取data的最后一个数据处理展示
    • 分享url的拼接:需要注意的是,我们分享出去的是小程序,并不是h5,所以用户点击进来的肯定还是小程序,所以url的拼接需要把当前的newPage路径带上,然后真正的路径通过路由参数拼接,最终在onLoad通过options获取,也就是上面的第二步
      • path: /pages/newPage/newPage?url=${path},
  4. 特别注意,这时候在h5页面点了分享按钮,其实也是不会响应,还记得bingmessage的触发时机吗,只有我们点击了分享按钮,才会触发bingmessage获取信息,记得一定要点击分享按钮
<web-view src="{{url}}" bindmessage="handleGetMessage" />
Page({data: {url: 'http://localhost:3001/64/html5-bbs/web-view',isOverShare: true,shareOptions: {title: "",path: "/pages/index/index",imageUrl: ""},},onLoad(options = {}) {if (!options.url) { return }this.setData({ url: options.url})},onShareAppMessage() {return this.data.shareOptions},handleGetMessage(e) {let data = e.detail.data || []if (!data.length) { return }const { title, path, imageUrl } = data[data.length - 1]this.setData({shareOptions: {title,path: `/pages/newPage/newPage?url=${path}`,imageUrl,}})console.log('%c [  ]-157', 'font-size:13px; background:pink; color:#bf2c9f;', this.data.shareOptions)},
})

效果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

http://www.mnyf.cn/news/37564.html

相关文章:

  • 网站源码下载了没有管理后台百度信息流广告怎么收费
  • 做网站需要找什么客户dsp投放方式
  • 烟台市铁路建设管理局网站百度推广平台有哪些
  • 网站制作公司武汉北京百度seo价格
  • 做电子商务网站 语言网站广告费一般多少钱
  • 昆明做网站推网站免费推广方式
  • 电商网站建设需求分析 实例题seo信息优化
  • 网站排名下降原因西安seo网络优化公司
  • 现在公众号做电影网站的发展爱站网关键词查询网站的工具
  • 做企业网站需要人维护么aso优化服务站
  • 免费网页设计作品深圳搜索引擎优化推广
  • 哪家网站建设做的好做百度推广效果怎么样
  • 做美陈网站网络营销师证书怎么考
  • 渝中网站公司网站seo是什么意思
  • 旅游网站怎样做网络宣传百度快照seo
  • 长春财经学院多大南宁网站seo排名优化
  • html5 素材网站百度推广培训班
  • 2015年做哪些网站致富网络营销推广案例
  • 容桂销售型网站建设建立一个网站需要多少钱?
  • 南京大型行业网站建设千万别手贱在百度上搜这些词
  • 公司网站百度地图百度霸屏推广多少钱一个月
  • 深圳网站建设优化服务深圳网络推广
  • 怎么给网站创建二维码百度手机应用商店
  • 买外贸衣服的网站网上推广赚钱项目
  • 设计网站behance怎么翻数字营销包括哪六种方式
  • 做网站怎么调用数据库网络推广营销网站建设专家
  • 邯郸网站设计报价活动营销的方式有哪些
  • 西安做网站那家公司好武汉网络营销推广
  • 在线简易网页制作网站天津网站建设公司
  • myeclipse做网站中国网站排名网