uni-app web-view跳转自定义html

uni-app web-view跳转自定义html
第一步 注册点击事件跳转到web-view所在的页面
注册点击事件进行跳转 使用导航栏进行返回
demo(data) {
  uni.navigateTo({
  	url: `/pages/privacy/privacy?data=${res.data}` 
  })
},
需要pages.json 注册 
{
  "path": "pages/privacy/privacy",
  "style": {
    "navigationBarTitleText": "隐私协议",
    "navigationBarBackgroundColor": "#FFFFFF"
  }
}
第二步 需要一个web-view的跳转页面

提示: html文件只能放在hybrid的html文件下,不能放在pages下面

<template>
    <view>
        <web-view :src="url" ></web-view>
    </view>
</template>

<script>
    export default {
        data() {
            return {
                webviewStyles: {
                    progress: {
                        color: '#FF3333'
                    }
                },
                url: '../../hybrid/html/privacy.html', // 地址 html文件只能放在hybrid下
				transferData: '', //传递数据
            }
        },
        onLoad(options) {
			//options是传递过来的参数
			//因为是url传参,存在中文乱码问题 这里需要用encodeURIComponent()进行处理 接收参数时也需要用decodeURIComponent()进行转译
			this.url = `../../hybrid/html/need-know.html?data=`+encodeURIComponent(options.data)
        },
        //监听html返回上一页的事件 跳转到相对于的页面
        onBackPress(options) {
			if(options.from === 'backbutton') {
				uni.redirectTo({
					url: `/pages/login/login`
				});
			} 
		},
    }
</script>

第三步

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
	<mete http-equiv="contentType" content="textml;charst=utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>隐私政策</title>
    <style>
    </style>
</head>
<body>
    <div id='replace'></div>
</body>
<!-- uniapp的引用 -->
<script
  type="text/javascript"
  src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js"
></script>
<script>
	//获取元素 其实以下得看自身情况需求来做更改 但大体就是使用 window.location.search.substring(1)截取到凭借的参数 然后使用decodeURIComponent方法进行转译
	let replace = document.getElementById('replace')
	function getUrlParam(name) {
		// 取得url中?后面的字符
		let query = window.location.search.substring(1);
		// 把参数按&拆分成数组3
		let param_arr = query.split("=");
		//将地址栏参数解码 因为只有一个参数
		let data = decodeURIComponent(param_arr[1]);
		replace.innerHTML = data
		
		// 多个参数可以使用
		// var query = window.location.search.substring(1);
        // // 把参数按&拆分成数组
        // var param_arr = query.split("&");
        // for (var i = 0; i < param_arr.length; i++) {
        // 	var pair = param_arr[i].split("=");
        // 	if (pair[0] == name) {
        // 		return pair[1];
        // 	}
        // }
	}
	//获取数据进行赋值
	getUrlParam()
</script>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值