微信小程序开发之——WebView

news/2024/9/23 6:27:23/

一 概述

微信小程序对WebView支持的库有:

  • wxParse:微信小程序富文本解析自定义组件,支持HTML及markdown解析(已过期,不提供支持)
  • web-view:微信官方提供,承载网页的容器(个人类型的小程序暂不支持使用)

二 web-view的基本使用

2.1 基本属性

属性类型说明
srcstringwebview 指向网页的链接
bindmessageeventhandler网页向小程序 postMessage 时,会在特定时机(小程序后退、组件销毁、分享)触发并收到消息
bindloadeventhandler网页加载成功时候触发此事件。e.detail = { src }
binderroreventhandler网页加载失败的时候触发此事件。e.detail = { src }

2.2 web-view加载网页

2.2.1 网页内容

<html>
<head><meta charset="UTF-8"><style>body {background-color: lightsalmon;}div {display: flex;justify-content: center;align-items: center;width: 100%;margin: auto 0;padding: 0 auto;height: 100%;text-align: center;}</style>
</head>
<div><h1>网页内容</h1>
</div>
</html>

2.2.2 IIS(Internet Information Services)提供web服务

2.2.3 小程序使用web-view加载网页-1

webview.wxml中使用(src指定网页地址)
<web-view src="http://localhost:8081/html/my-webview.html"></web-view>

2.2.4 小程序使用web-view加载网页-2

webview.wxml中
<web-view  src="{{src}}"></web-view>
webview.js
var webSrc = ["http://localhost:8081/html/weichat-webview.html", //网页地址"http://localhost:8081/html/my-webview.html"
];onLoad: function (options) {this.setData({src: webSrc[1]})},

2.2.5 效果图

三 web-view和小程序交互传值

3.1 通过bindmessage传值(小程序后退,销毁,分享)

3.1.1 说明

网页向小程序 postMessage 时,会在特定时机(小程序后退、组件销毁、分享)触发并收到消息

3.1.2 网页

<!DOCTYPE html>
<html><meta charset="UTF-8">
<head><script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script><!--小程序调用-->
</head>
<body><h1>JavaScript 事件</h1><button onclick="getTime()">时间是?</button><p id="demo"></p>
</body>
<script>function getTime() {var date = Date();document.getElementById('demo').innerHTML = date/**小程序调用 */wx.miniProgram.navigateBack({delta: 1}); wx.miniProgram.postMessage({ data: date });}
</script>
</html>

3.1.3 小程序端-handleGetMessage

  handleGetMessage: function (e) {debugger;console.log("从WebView返回的数据为:" + JSON.stringify(e.detail.data[0]));}

3.1.4 返回结果(返回时,接收到的结果)

3.2 网页直接传值

3.2.1 网页(navigateTo后面拼接参数)

<!DOCTYPE html>
<html><meta charset="UTF-8">
<head><script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script><!--小程序调用-->
</head>
<body><h1>JavaScript 事件</h1><button onclick="getTime()">时间是?</button><p id="demo"></p>
</body>
<script>function getTime() {var date = Date();var data={date:null};document.getElementById('demo').innerHTML = datewx.miniProgram.navigateTo({url: '/pages/webjump/webjump?data='+JSON.stringify(data)})}
</script>
</html>

3.2.2 跳转到结果页面接收数值

webjump.wxml
<text>{{content}}</text>
webjump.js
  onLoad: function (options) {debuggervar data=options.data;var con=JSON.stringify(options.data);this.setData({content:JSON.stringify(options.data)})console.log("从webview获得的值为:============="+JSON.stringify(options.data));},

3.2.3 效果图

四 参考

  • CSDN下载-webview
  • 小程序官方文档-webview

http://www.ppmy.cn/news/657587.html

相关文章

(一) Android WebView是什么?

1.Android WebView 一些基本概念 在 Android 手机中内置了一款高性能 webkit 内核浏览器,在 SDK 中封装为一个叫做 WebView 组件. 什么是 webkit WebKit 是 Mac OS X v10.3 及以上版本所包含的软件框架(对 v10.2.7 及以上版本也可通过软件更新获取). 同 时,WebKit 也是 Mac…

手机程序员常说的webview到底是个啥东西

好像安卓和IOS程序员最常说的关于他们专业的名词就是webview&#xff0c;但是这个webview到底是个啥玩意&#xff1f; 先从安卓程序员用的webview入手&#xff0c;就几个webview的函数 WebView.loadUrl("http://www.ltplayer.com");// 加载url&#xff0c;也可以执行…

X5WebView使用

用过 Android 自带 WebView 的都知道&#xff0c;每次加载数据过多时&#xff0c;等待时间非常久&#xff0c;体验非常差。所以腾讯推出了&#xff1a;腾讯浏览服务&#xff0c;也就是 X5WebView &#xff1b;下面来看一下效果图&#xff1a; GitHub 下载地址&#xff1a;https…

[移动端开发]到底什么是WebView?

移动端开发中的WebView到底是什么&#xff1f; 前言&#xff1a;移动端开发的童鞋应该都听说过一个名词 WebView&#xff0c;那么到底什么是WebView&#xff1f;今天我们来讲一下什么是WebView吧 一、WebView到底是什么 WebView&#xff0c;直译是网页视图&#xff0c;是一个基…

webview是什么?作用是什么?和浏览器有什么关系?

Webview 是一个基于webkit的引擎&#xff0c;可以解析DOM 元素&#xff0c;展示html页面的控件&#xff0c;它和浏览器展示页面的原理是相同的&#xff0c;所以可以把它当做浏览器看待。&#xff08;chrome浏览器也是基于webkit引擎开发的&#xff0c;Mozilla浏览器是基于Gecko…

Android的webview有什么用,webview实现有什么用

WebView是android中一个非常重要的控件&#xff0c;它的作用是用来展示一个web页面。它使用的内核是webkit引擎&#xff0c;4.4版本之后&#xff0c;直接使用Chrome作为内置网页浏览器。 作用(推荐学习&#xff1a;Java视频教程) 显示和渲染网页&#xff1b; 可与页面JavaScrip…

红米android system干什么的,Android System Webview是什么东西

这是安卓系统内置webkit内核浏览器的一个组件&#xff0c;组件名称为Webview。 WebView是安卓系统中一款基于webkit引擎、展现web页面的控件。 Android的Webview在低版本和高版本采用了不同的webkit版本内核&#xff0c;在版本更新到4.4后直接使用了Chrome版本。 WebView能够对…

app中的webview是什么?如何理解?

app中的webview是什么&#xff1f;如何理解&#xff1f; 当你上网阅读东西时&#xff0c;我们一般会选择一款浏览器&#xff0c;比如Chrome、火狐、safari、IE或者Edge。你可能不知道这些浏览器之间有一些竞争&#xff0c;而竞争的主要形式就是WebView。 WebView的定义 什么…