对uniapp中的webview的理解

news/2024/9/23 4:34:22/

今天花了将近一天的时间去研究了一下uniapp中的webview组件的应用。说起webview,想必大家都不会陌生,开发小程序的朋友或多少都会用上。记忆之中,当时开发小程序的时候只是做了一个跳转,然后展示,并没有其他的。现在,再次拿来研究,新的东西还是蛮多的。

//common.js
//大家可以把这个方法放到那公共文件那儿
export function getUrlStr(url, params) { //把url的参数用&符连起来if (!params) return url;let result = url + "?";params &&Object.keys(params).forEach((item) => (result += `${item}=${params[item]}&`));return result.slice(0, -1);
}
<!--一个最为简单的代码-->
<view class=""><web-view src="http://www.vuestage.bnc/"@message="message"@onPostMessage="onPostMessage"></web-view>
</view>
//这儿先引入刚common.js的函数onLoad(opt) { //在h5端中会有些不同,在h5中要拿由h5端回来的数据是这样子弄的let url = getUrlStr(this.url,opt); //把url的参数用&符连起来// #ifdef H5window.addEventListener('message',function(e){if(e.data.data.name == "postMessage"){console.log(e.data.data.arg)}},false)// #endif},methods:{message(){//这儿就是接收到 webview跳转到h5页面后,由h5页面回来的数据console.log('接收到的消息:' + JSON.stringify(e.detail.data)); },},
<!--h5页面是长这样子的-->
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body><div><button id="gotouni">goto uni</button></div><!--这儿引入的js是固定的--><script type="text/javascript" src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js"></script><script type="text/javascript">function GetUrlParam() {//获取所有参数,并以对象形式存(这儿就是从unipp 那儿传来的参数)let url = document.location.toString();let arrObj = url.split("?");let params = Object.create(null) if (arrObj.length > 1) {arrObj = arrObj[1].split("&");arrObj.forEach(item => {item = item.split("=");params[item[0]] = item[1]})}return params;}document.addEventListener('UniAppJSBridgeReady',function(e){document.getElementById('gotouni').addEventListener('click',function(e){uni.getEnv(function(e){ //这儿就是拿到是从哪个环竟来到这个h5页面的。(比如说 app端,小程序端,或者是h5端 等等)console.log(e)})uni.reLaunch({//这儿是回到原来的端url:'/pages/index/index'})uni.postMessage({ //这儿是要传到原来端的数据,是固定写法data:{id:5,name:'苹果6',price:5606}})//uni.navigateBack(); //这儿是返回上一层(原来端)})})</script>
</body>
</html>

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

相关文章

android webview权限申请_android WebView全面总结

WebView是安卓中用来显示html文本内容的的控件,对html5也有很好的支持,ios的控件UIWebView差不多。网上对WebView的解释很多,但都是零星的介绍,导致到现在为止webview给我的印象都是,貌似很强大,其实很鸡肋,于是决定总结一下webview的开发经验。 使用WebView并不需要开通…

安卓WebView相关设置

Android WebView 的相关设置 settings相关设置 webView.settings.apply {//开启jsjavaScriptEnabled true//弹出框的设置//1.NARROW_COLUMNS&#xff1a;可能的话使所有列的宽度不超过屏幕宽度//2.NORMAL&#xff1a;正常显示不做任何渲染//3.SINGLE_COLUMN&#xff1a;把…

webview相关

在Android N及以下版本&#xff0c;webview默认跟browser端运行在同一个进程中&#xff0c;在Android O及以上版本&#xff0c;webview默认运行在单独进程&#xff0c;称为renderProcess&#xff0c;作为browser端所有webview的容器。 browser端代码分为两部分 android sdk部…

Android:最全面的 Webview 详解

前言 现在很多App里都内置了Web网页&#xff08;Hyprid App&#xff09;&#xff0c;比如说很多电商平台&#xff0c;淘宝、京东、聚划算等等&#xff0c;如下图 那么这种该如何实现呢&#xff1f;其实这是Android里一个叫WebView的组件实现的。今天我将全面介绍WebView的常用…

微信小程序开发之——WebView

一 概述 微信小程序对WebView支持的库有&#xff1a; wxParse&#xff1a;微信小程序富文本解析自定义组件&#xff0c;支持HTML及markdown解析(已过期&#xff0c;不提供支持)web-view&#xff1a;微信官方提供&#xff0c;承载网页的容器(个人类型的小程序暂不支持使用) 二…

(一) 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…