第七十三天至
第七十三天至
  • 发布:2020-04-03 18:29
  • 更新:2020-08-12 12:14
  • 阅读:3043

【报Bug】overrideUrlLoading 不能拦截 loadURL 方法触发的跳转

分类:uni-app

<template>  
    <view>  

    </view>  
</template>  

<script>  
    export default {  
        onLoad() {  
            let webview = plus.webview.create('', 'test', {top:'0px',bottom:'0px',errorPage:'none',scalable:true});  
            webview.overrideUrlLoading({mode:"reject",match:'.*'}, (e)=>{  
                console.log(e.url);  
            });  
            webview.loadURL('https://www.baidu.com/');  
            webview.show();  
        },  
        data() {  
            return {  

            }  
        },  
        methods: {  

        }  
    }  
</script>  

<style>  

</style>  

```## 详细问题描述  

(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)  

[内容]  

## 重现步骤  

[步骤]  
Android手机真机调试  
[结果]  

[期望]  
能跟 5+ api 的说明文档一样能够拦截loadurl  
[如果语言难以表述清晰,拍一个视频或截图,有图有真相]  

## IDE运行环境说明  

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]  

[IDE版本号]  

[windows版本号]  

[mac版本号]  

## uni-app运行环境说明  

[运行端是h5或app或某个小程序?]  

[运行端版本号]  

[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]  

[编译模式说明:自定义组件模式?纯nvue模式?v3模式?]  

## App运行环境说明  

[Android版本号]  

[iOS版本号]  

[手机型号]  

[模拟器型号]  

## 附件  

[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]  

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]  

[App安装包或H5地址]  

[可重现代码片段]  

## 联系方式  

[QQ]  
2020-04-03 18:29 负责人:DCloud_Android_ST 分享
已邀请:
DCloud_heavensoft

DCloud_heavensoft

wkwebview不支持此功能

  • 第七十三天至 (作者)

    Android也不行吗?

    2020-04-03 21:04

  • DCloud_heavensoft

    回复 第七十三天至: Android可以。如果Android有问题,请认真按模板详细报问题

    2020-04-03 21:42

  • 第七十三天至 (作者)

    回复 DCloud_heavensoft: 这就是全部代码了,新建一个nvue文件粘贴就是了,loadURL可以多复制几个,反正一个都没有拦截到。

    2020-04-03 21:45

  • 咖啡加糖

    overrideUrlLoading 不能拦截乱码的资源 正则没发现问题 ^(?:https?|ftp):\/\/.\/..(?:mp4|txt)($|[\?].*)

    打开链接链接http://m.mjtxs.com/page/?8719.html 点下载的时候没有拦截到资源还是弹出乱码内容

    2020-08-12 12:14

DCloud_Android_ST

DCloud_Android_ST

Android端overrideUrlLoading事件触发目前是依赖android.webkit.WebViewClient的shouldOverrideUrlLoading回调来实现的。测试发现页面加载https://www.baidu.com/并不会主动触发shouldOverrideUrlLoading。如果页面触发href跳转是可以正常拦截的。你可以通过百度搜索点击搜索就会触发overrideUrlLoading拦截了。

  • 第七十三天至 (作者)

    其实拦不拦截不重要,只是这个文档说能拦https://www.html5plus.org/doc/zh_cn/webview.html#plus.webview.WebviewObject.overrideUrlLoading ,结果是不能拦的,这就有点。。

    2020-04-07 17:10

  • DCloud_Android_ST

    懂了 是我理解错误了 是 webview.loadURL 未能正常拦截是吧

    2020-04-07 17:42

  • 第七十三天至 (作者)

    回复 DCloud_Android_ST: 拦不了loadURL ,我看文档说是能拦的。

    2020-04-07 17:44

  • DCloud_Android_ST

    回复 第七十三天至: 问题已记录

    2020-04-07 17:51

  • 第七十三天至 (作者)

    回复 DCloud_Android_ST: 这个bug不重要,这个bug才要命 https://ask.dcloud.net.cn/question/92815?notification_id-710810rf-falseitem_id-119599__answer_id-119599__single-TRUE#!answer_119599

    2020-04-07 17:56

  • 咖啡加糖

    overrideUrlLoading 不能拦截乱码的资源 正则没发现问题 ^(?:https?|ftp):\/\/.\/..(?:mp4|txt)($|[\?].*)

    打开链接链接http://m.mjtxs.com/page/?8719.html 点下载的时候没有拦截到资源还是弹出乱码内容

    2020-08-12 12:15

DCloud_App_Array

DCloud_App_Array

已修复此问题,请更新到HBuilderX2.6.12+版本。

  • 2***@qq.com

    我测试了下 loadURL 还是拦不了 HBuilderX 2.6.16.20200424

    2020-05-03 16:43

咖啡加糖

咖啡加糖

overrideUrlLoading 不能拦截乱码的资源 正则没发现问题 ^(?:https?|ftp):\/\/.\/..(?:mp4|txt)($|[\?].*)
打开链接链接http://m.mjtxs.com/page/?8719.html 点下载的时候没有拦截到资源还是弹出乱码内容

该问题目前已经被锁定, 无法添加新回复