随着版本的更新,底层代码发生了变化,部分函数执行时间会发生变化,异步同步执行也可能发生改变。甚至支持的函数也可能被废弃,因此升级可能会导致BUG产生,以下是踩坑记录。
内嵌H5页面无法正常运行。
无法正常传值的页面创建方法示例:
self.wv.loadURL(
'/hybrid/html/nav.html?lon=' +
encodeURIComponent(self.lon) +
'&lat=' +
encodeURIComponent(self.lat) +
'&address=' +
encodeURIComponent(self.add) +
'&nowlat=' +
encodeURIComponent(res.latitude) +
'&nowlon=' +
encodeURIComponent(res.longitude)
);
let currentWebview = self.$mp.page.$getAppWebview(); //获取当前页面的webview对象
plus.webview.hide(self.wv);
//console.log(currentWebview)
currentWebview.append(self.wv);
//console.log(currentWebview)
if(self.current==0){
plus.webview.show(self.wv);
self.ifRegetMap = false
}
可正常运行的页面创建方法示例:
let top = res.navigationBarHeight + 45;
// #ifdef APP-PLUS
let wv = plus.webview.create('', self.spotIdIs, {
// plusrequire:"none", //禁止远程网页使用plus的API,有些使用mui制作的网页可能会监听plus.key,造成关闭页面混乱,可以通过这种方式禁止
'uni-app': 'true', //不加载uni-app渲染层框架,避免样式冲突
top: top, //放置在titleNView下方。如果还想在webview上方加个地址栏的什么的,可以继续降低TOP值
// hight: 500-hight //放置在titleNView下方。如果还想在webview上方加个地址栏的什么的,可以继续降低TOP值
bottom: 0,
APIUrl:self.arcgisAPIUrl,
suspectedLayerUrl: self.suspectedLayerUrl,
prepareEditLayerUrl: self.prepareEditLayerUrl,
AAlayerUrl: self.AAlayerUrl
});
plus.webview.hide(wv, 'fade-out');
wv.loadURL('/hybrid/html/drawPolygon.html');
let currentWebview = self.$mp.page.$getAppWebview(); //获取当前页面的webview对象
currentWebview.append(wv); //一定要append到当前的页面里!!!才能跟随当前页面一起做动画,一起关闭
self.$store.commit('createDrawRedLineMap', wv);
//#endif
问题:定位返回值中,返回成功,但经纬度为 ******************
解决:需要认真检查uid和第三方定位平台的授权key对应的授权信息,并且升级到最新版本的uniapp。
问题:一些正常的功能没有改代码的情况下不能用了 / 热更新的端口号与项目配置不同。
原因:可能是端口占用后,uniapp自动开启了另一个端口进行项目热更调试。
解决:解除正确的端口的占用并重启Hbuilder。