问题描述:
一个扫码按纽,在A页面扫码后,通过 uni.navigateTo({url:'../main/scan_result?data='+encodeURIComponent(str)});将扫码内容跳转到另一个B页面进行处理。
那么问题来了,B页面有时能正确显示,有时不能,在onLoad处能得到跳转来的参数(每次都可以),但页面内容有时显示,有时不能显示,就是 warning块的内容,不显示,只有白屏。标题有,
<template>
<view>
<view class="uni-flex uni-column waring">
<view class="flex-item line1">{{lang.scan_result_tips}}</view>
<view class="flex-item line2" @tap="gotoURL()">{{text_scan}}</view>
<view class="flex-item line3" v-if="showSee">{{lang.scan_result_tips1}}</view>
</view>
<web-view v-if="storeurl!=''" :src="storeurl" ></web-view>
</view>
</template>
<script>
export default {
data() {
return {
lang:{},
storeurl:'',
text_scan:'',
showSee:false,
}
},
onLoad(option){
this.text_scan = decodeURIComponent(option.data)
this.lang=this.$FUN.setLanguage();
console.log(this.text_scan);
},
onShow(){
console.log('onShow')
this.eventScan()
},
methods: {
eventScan(){
let mystr=this.text_scan;
if(this.$FUN.isURL(mystr)){
var domains = mystr.split('/');
var domain = domains[2];
//判断 domain是不是在Config白名单中,如果是直接跳转
if(this.$FUN.isInWhiteList(domain)){
this.storeurl = mystr;
}
this.showSee=true;
}
},
gotoURL(){
this.storeurl = this.text_scan;
},
handleMessage(evt) {
console.log('接收到的消息:' + JSON.stringify(evt.detail.data));
}
}
}
</script>
<style lang="scss">
.waring{
width: 700upx;
margin: 24% 0 0 4%;
padding: 0 0 20upx 0;
background-color: #fff;
box-shadow: 0upx 0upx 25upx rgba(0,0,0,0.1);
border-radius: 15upx;
.flex-item{padding:18upx 20upx 0 20upx;}
.line1{color:#666;}
.line2{word-break: break-all;}
.line3{font-size:12px;color:#999}
}
</style>
4 个回复
剑网PHP (作者)
补充一下:是IOS真机模式下出现的问题,H5页面是正常的。
剑网PHP (作者)
通过手动点击并传参进去这个页面一点问题也没有。
主要是扫码后跳转过去,出现这样的问题,一般来说第一次能正常显示内容,之后就是碰运气了。这是什么原因啊。
扫码跳转到新页面后 onLoad能正常获得参数。就是不能显示在页面。
cyzy
您好,您解决了吗,我也遇到了哎,就是普通的跳转,大概十来次就会出现一次空页面
2019-07-24 10:02
2***@qq.com
回复 cyzy: 你好,这问题你们解决了吗。我会提示plus is not defined
2019-08-09 09:59
2***@qq.com
你好,这问题你解决了吗
2019-08-09 09:59
l***@163.com
请问解决了吗?是什么原因
2019-10-16 17:57
言叶哦丶
回复 cyzy: 你好 请问后来是怎么解决这个问题的
2021-05-17 09:46
Ucer - uucc
数据线别一直插着,要拔出来重新插
言叶哦丶
你好 请问后来是怎么解决的