h5页面和小程序交互小程序web-view 组件是一个可以用来承载网页的容器,会自动铺满整个小程序页面。个人类型与海外类型的小程序暂不支持使用。

引入jsdk文挡

h5跳转小程序页面 demo$('.span-icon1').click(function(){

wx.miniProgram.navigateTo({url:'/pages/share/share'});

})

h5嵌入小程序传递message给小程序wx.miniProgram.postMessage(Util.shareToWechart(params)); // 传递消息给webview

web-view 通过属性 bindmessage 触发得到h5传过来的消息。

相关的apiwx.miniProgram.navigateTo //跳转小程序页面

wx.miniProgram.navigateBack //返回小程序上一个路由

wx.miniProgram.switchTab //切换tab

wx.miniProgram.reLaunch //重新启动

wx.miniProgram.redirectTo // 跳转小程序,删除当前页面,类似 history.replace()

wx.miniProgram.postMessage //向小程序传递信息

wx.miniProgram.getEnv //获取当前环境

//获取小程序环境

wx.miniProgram.getEnv(function(res) {

console.log(res.miniprogram) // true

})

tip网页内 iframe 的域名也需要配置到域名白名单。

开发者工具上,可以在 组件上通过右键 - 调试,打开 组件的调试。

每个页面只能有一个 , 会自动铺满整个页面,并覆盖其他组件。

网页与小程序之间不支持除 JSSDK 提供的接口之外的通信。

在 iOS 中,若存在JSSDK接口调用无响应的情况,可在 的 src 后面加个#wechat_redirect解决。

避免在链接中带有中文字符,在 iOS 中会有打开白屏的问题,建议加一下 encodeURIComponent

这些东西实际上在小程序开发文档都可以查看到,我主要记录一下我在开发web-view的时候,所遇到的一些问题

屏幕适配 (除了屏幕适配外,其他的东西jssdk有提供就用,没有提供就没有办法罗。。。。o( ̄︶ ̄)o)

iPhoneX

ipx再浏览器手机模拟器中,我们可以看到设备的宽高分别为375、812、dpr=3,我们的设计稿是ip6的设计稿,对于ipx需要做单独的样式。

按照我们的思路,可以获取设备信息,动态增减类,来控制样式;也可以写媒体查询,根据屏幕的宽或则高,或则dpr来做控制。

首先,我们项目中不知道谁写了一个判断ipx的的方法。。。。如下

isIphoneX: function () {

return /iphone/gi.test(navigator.userAgent) && (screen.height == 812 && screen.width == 375)

},

同事,告诉我,他们就是用的这个方法,我也就没有在意,粗略一看,没什么问题,是判断ipx的方法,于是乎。。。。。经过我在小程序测试,发现这个

方法,并没有起到作用,原因是web-view组件中嵌入h5页面,你在h5页面中获取的屏幕高度并不是ipx通屏的高度。。。。还记得小程序头顶上的一些东西吗?

经过测试,在小程序web-view中,ipx的height只有724px。。。

发现问题了,立马弃用公共的判断方法,当然,也可以重新判断高度的。我们决定采用媒体查询来做,代码如下:

//ipx 适配

@media only screen and (device-width: 375px) and (device-height:724px) and (-webkit-device-pixel-ratio:3),

only screen and (device-width: 375px) and (device-height:812px) and (-webkit-device-pixel-ratio:3) {

.christmas_activity {

background: url('../images/home-bg-ipx.jpg') no-repeat;

background-size: 100% 100%;

.foot {

height: 2.5rem;

bottom: 0;

}

}

}

这里媒体查询写死了两种屏幕的宽高,一种是ipx通屏,一种是ipx在小程序中的,这样就可以做到ipx的适配。嗯,不错。

但是,只是做到了ipx的适配,如果尺寸不是ipx的尺寸,但是屏幕比ipx还长,或则比它短一点呢?又是另外的问题了,目前,我采用的方法是ip6用一张背景图,比ip6-plus高度还大的手机换ipx的背景图,这样基本可以做到长屏幕手机上面背景图片不会拉伸了,哈哈哈。

其实web-view组件嵌套h5页面还是非常有必要的,就拿我们目前的小程序项目来说的话,主包除外,已经分包两个了,如果不用h5嵌套,过不了多久小程序直接就超额了,还搞个毛线。包的大小都是做了限制的,没办法罗。。。

小程序接入h5页面_h5页面和小程序交互相关推荐

  1. 小程序接入h5页面_原生小程序接入H5页面,请求后台接口,获取数据

    项目开发中赶上三端接入h5的需求,因此本身动手作h5页面,可是在作的过程当中也赶上了许多的问题javascript 小程序端不支持在本地引入,因此须要将h5发布服务器,以请求接口的形式进行访问html ...

  2. 小程序接入h5页面_微信小程序跳转外部链接(h5页面)以及数据交互

    最近项目有个需求,在微信小程序中跳转外部链接完成相关的操作,操作完成后返回微信小程序的相关页面. 1.跳转外部链接(官方文档) 1)入口 //跳转到入口 wx.navigateTo({url: '.. ...

  3. 小程序接入h5页面_小程序与H5如何互相跳转

    由于小程序官方没有提供外部H5网页直接跳转到小程序的api,所以目前只支持小程序内嵌H5,并且只有内嵌的H5才能跳回小程序 小程序跳转H5 需要用到小程序的web-view,官方文档链接 web-vi ...

  4. 小程序接入h5页面_小程序-实现怎么跳转打开 H5 网页链接(或跳转至公众号文章)...

    背景 有时候,因为业务需求,在小程序当中,需要跳转到 h5 网页,或跳转到公众号,形成流量的闭环,那在小程序当中怎么实现呢? 实例效果 前提条件该小程序与需要跳转至的公众号(订阅号/服务号)进行了绑定 ...

  5. web前端学习(三):微信小程序基于H5规范,开发Android应用程序

    前言: 微信小程序开发框架的目标是通过尽可能简单,高效的方式让开发者可以在微信中开发具有原生APP体验的服务. 整个小程序框架系统分为两部分,逻辑层,视图层,小程序提供了自己的视图层描述语言, WXM ...

  6. 小程序接入h5页面_微信小程序开发接入colorUI

    本文接前天的小程序开发第一篇文章,上篇文章完成了微信官方提供的小程序初始模板代码的构建,今天这篇文章主要讲解小程序使用colorUI框架,并构建一个简单的页面. 前注: 1.本文代码基于第一篇文章的基 ...

  7. h5逻辑_h5页面在微信打开-导航栏标题如何设置

    需求 前提 在微信公众号某文章内有一个按钮: 点击按钮跳转到某h5页面上: 由此可见->该h5页面一般在微信内部打开: 需求 在微信环境中将h5页面的导航栏标题设置为'xxx'(自定义); 实现 ...

  8. 小程序接入流量主、banner广告、激励广告

    小程序接入广告 1.什么是微信小程序广告 2.流量主开通流程 3.微信小程序流量主开通以及添加广告步骤 (1) 接入banner广告 (2) 接入激励广告 1.什么是微信小程序广告 2.流量主开通流程 ...

  9. uni-app开发微信小程序,H5 关于压缩上传图片的问题

    文章目录 前言 一.为什么要压缩图片 二.图片压缩方式 1. 微信小程序​​​​​​​ 2. H5 总结 前言 关于微信小程序.H5兼容性问题,今天就压缩以及上传图片做一个可实现方法的简要阐述. 一. ...

最新文章

  1. libuv 中文编程指南(零)前言
  2. leetcode算法题--下降路径最小和
  3. photoimpression 5中文版
  4. 约束理论学习随笔(2)---DBR系统
  5. android分享到指定应用,Android调用系统分享,指定某些应用来分享
  6. Android WebView对https无响应
  7. 关于卡尔曼滤波详细推导的理解
  8. 国产车崛起粉碎德日工业神话
  9. ex7.Caption属性的运用
  10. linux系统下回收站,Linux怎么开启回收站功能
  11. 1秒等于多少微妙,纳秒
  12. Windows UI 测试
  13. 解决uni.request时uni.showtoast无效问题
  14. html app启动页制作,【示例】App引导页的制作
  15. 阿里实习生测试一面(2017.3.29)
  16. mysql records_MySQL 基本操作 · LYF_Records
  17. 计算机机房标准pdf,计算机机房建设标准要点.pdf
  18. java使用md5以及jar包下载
  19. 免费OA系统平台在企业发展中的优势(转载)
  20. 【2020年领域新星】 赵慧婵 清华大学

热门文章

  1. WPF实现组态软件-逼真的管道和速度可变流体(五)
  2. Echarts清空图表:There is a chart instance already initialized on the dom.
  3. Python OpenCV开发MR智能人脸识别打卡系统(四、服务模块设计)
  4. C语言习题答案【7】(仅参考)
  5. linux创建磁盘的命令,linux中创建磁盘分区的命令是什么
  6. DataType 数据类型
  7. 东南西北十字图_word画东南西北方向图标 怎么在Word里绘制方向十字图标
  8. LocalDateTime用法
  9. @Retention(RetentionPolicy.RUNTIME)
  10. DelphiXE7操作sqlite数据库