webview加载第三方外部网页,网页中调用了js的 alert弹窗,整个app会崩溃;
- 发布:2022-12-06 11:59
- 更新:2022-12-07 13:11
- 阅读:282
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
HBuilderX类型: Alpha
HBuilderX版本号: 3.6.11
手机系统: iOS
手机系统版本号: iOS 15
手机厂商: 苹果
手机机型: iphone11
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
应该显示弹窗,或者不显示(屏蔽alert)
应该显示弹窗,或者不显示(屏蔽alert)
实际结果:
app崩溃
app崩溃
bug描述:
如果webview加载的外部网页中,调用了js的 alert弹窗,整个app会崩溃;
黑讯科技 (作者)
1.index.vue頁面代碼
<template>
<view>
<web-view ref="wvpage" :src="url" @message="handleMessage" :webview-styles="webviewStyles"></web-view>
</view>
</template>
<script>
export default {
data() {
return {
url: 'http://192.168.1.3/test.html', //定义一个url变量来存取 url路径
webviewStyles: {
progress: {
color: '#FA5175'
},
top: 20
}
}
},
onLoad(option) {
},
computed: {
},
methods: {
handleMessage(evt) {
console.log('接收到的消息:' + JSON.stringify(evt.detail.data));
},
}
}
</script>
黑讯科技 (作者)
2.test.html頁面代碼
<!doctype html>
<html>
<head>
<title>测试弹窗</title>
</head>
<body>
<input id="cancel" title="取消" type="button" value="取消" onclick="test()">
<script>
function test() {
alert('aaa');
}
</script>
</body>
</html>
黑讯科技 (作者)
案例代碼已經提供,麻煩排查一下
2022-12-06 19:01
DCloud_iOS_WZT
回复 5***@qq.com: 我本地工程用你的代码没复现,提供一个示例工程吧
2022-12-07 12:28
黑讯科技 (作者)
回复 DCloud_iOS_WZT: 已提供
2022-12-07 13:07