webview简单记录

接上篇,技术能力有限,leaflet无法在uniapp上只可以正常显示地图或者静态的数据无法在地图页面接收到动态的数据。故使用web-view,嵌入h5页面解决问题。记录一下过程,以免遗忘。

新建一个文件夹用于写入h5页面

index.html是嵌入的h5页面

 

 使用web-view组件,当作来承载网页的容器。

web-view | uni-app官网

<template>
	<view>
		<web-view class="webview" id="webview":src='urlc' ref="webview" @message="handleMessage"></web-view>
	</view>
</template>

app与webview之间的传值

html传值给app:

uni.navigateTo({
	url: `/pages/reported/reported?editData=${JSON.stringify(someFeature)}`
});

app接收:

onLoad(option) {
	console.log('onload');
	console.log(option)
	if(option && option.map_data){
		this.map_data = option.map_data
	}
}

----------------------------------------------------------------------------------------------------

app传值给html:

computed: {
	urlc:function() {
	    if(this.map_data.length!=0) {
			console.log('查找数据了')
			return '/hybrid/html/index.html?map_searchdata='+this.map_data+"&token_data="+this.token+"&dutyOp="+this.dutyOp
		}else{
			return '/hybrid/html/index.html?map_searchdata='+this.map_data+"&token_data="+this.token+"&dutyOp="+this.dutyOp
		}
	}
},

html接收:

//取url中的参数值
function getQuery(name) {
	// 正则:[找寻'&' + 'url参数名字' = '值' + '&']('&'可以不存在)
	let reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
	let r = window.location.search.substr(1).match(reg);
	if(r != null) {
	    // 对参数值进行解码
        return decodeURIComponent(r[2]);
	}
	return null;
}
getQuery('map_searchdata')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值