d***@qq.com
d***@qq.com
  • 发布:2024-09-21 16:07
  • 更新:2024-09-21 22:17
  • 阅读:218

【报Bug】在nvue页面overrideUrlLoading不生效,同样的代码在vue文件中就没问题

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 13.6.8

HBuilderX类型: 正式

HBuilderX版本号: 4.24

手机系统: iOS

手机系统版本号: iOS 17

手机厂商: 苹果

手机机型: ip 15 pro

页面类型: nvue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

setTimeout(() => {
var pages = getCurrentPages();
var page = pages[pages.length - 1];
var currentWebview = page.$getAppWebview();
var url = currentWebview.children()[0].getURL();
console.log('=== url ===', url);
var wv = currentWebview.children()[0];
wv.overrideUrlLoading({
mode: 'reject',
match: '.*'
}, function(e) {
console.log('reject url: ' + e.url);
uni.navigateTo({
url: /pages/xxx/xxx?weburl=${e.url}
})
});
}, 400)

从 "console.log('=== url ===', url);"这里就开始报错url is undefined 。就算换成下面这种也不行,overrideUrlLoading的回调函数不执行。

setTimeout(() => {
var pages = getCurrentPages();
var page = pages[pages.length - 1];
var currentWebview = page.$getAppWebview();

            currentWebview.overrideUrlLoading({  
                mode: 'reject',  
                match: '.*'  
            }, function(e) {  
                console.log('reject url: ' + e.url);  
                uni.navigateTo({  
                    url: `/pages/xxx/xxx?weburl=${e.url}`  
                })  
            });  
        }, 400)

操作步骤:

预期结果:

正常运行

实际结果:

bug描述:

在nvue页面overrideUrlLoading不生效,同样的代码在vue文件中就没问题

2024-09-21 16:07 负责人:无 分享
已邀请:
BoredApe

BoredApe - 有问题就会有答案。

nvue webview不支持overrideUrlLoading方法

要回复问题请先登录注册