如题,当我创建webview使用 https://www.baidu.com 作为url时,使用wv.overrideUrlLoading可以正常拦截到url,但是将路径改为我另外一个单页面项目却不行。
请求大佬解惑
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<title></title>
</head>
<body>
<script src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js"></script>
<script>
const webviewList = []
let index = 0
// 创建并显示新窗口
function create(url){
const popGesture = index ? 'hide' : 'none'
const webview = plus.webview.create(
url,
'',
{
top: '0px',
bottom: '0px',
popGesture
},
)
webviewList[index] = webview
webview.show()
bindEvent(index)
index += 1
}
function bindEvent(index) {
webviewList[index].overrideUrlLoading({
effect: 'touchstart',
mode: 'reject',
match: '.*',
exclude: 'none'
},
//url变化回调
e => {
console.log('overrideUrlLoading ======================>');
console.log(e.url);
create(e.url)
});
console.log('绑定事件完成 ==================>');
}
document.addEventListener('plusready', () => {
// 可以正常拦截
// create('https://uniapp.dcloud.io/uniCloud/README')
// 无法正常拦截
// create('http://m.weibo.cn/u/3196963860')
// 可以正常拦截
create('https://www.baidu.com')
});
</script>
</body>
</html>
2 个回复
1***@qq.com (作者)
顶顶
5***@qq.com
你要拦截什么啊,我也在研究这个
1***@qq.com (作者)
我打包成APP后,在APP里没法侧滑返回到上一页,现在就是想通过拦截URL后通过打开新webview
2021-12-27 14:19
5***@qq.com
回复 1***@qq.com: 这不是吧简单 的事情变复杂么,你知道h5怎么设置拦截么,跟ffiddler一样的功能
2022-01-07 23:10
风中自由者
回复 1***@qq.com: 请问这个找到处理方式没,现在也是遇到一样的问题
2023-05-30 10:59