2***@qq.com
2***@qq.com
  • 发布:2022-04-20 16:37
  • 更新:2023-12-06 09:12
  • 阅读:1588

webview 如何禁止打开外部应用(App / 快应用)

分类:uni-app

请问下大佬们,我在uniapp中使用 plus.webview.create() 创建了一个webview,加载外部网页,但是不想让外部网页能打开手机上的应用(App 和 快应用),能找到的办法都试过了,都不行

plusrequire: 'none', //禁止使用plus api
disablePlus: true, //禁止使用plus api

this.webview = plus.webview.create('', 'webview-id', {  
                plusrequire: 'none',  //禁止使用plus api  
                disablePlus: true,  //禁止使用plus api  
                'uni-app': 'none',  
                top: (res.statusBarHeight + 44) + 'px',  
                bottom: '50px',  
                softinputNavBar: 'none',  
            });

这两个设置了仍然不生效,例如加载腾讯视频,点击网页上,打开腾讯视频app,仍然可以正常打开手机上安装的腾讯视频,请问下有什么办法禁止吗,主要是有些页面回疯狂弹出本机的快应用,连授权提示都没有直接就弹出来,想禁止这种情况

2022-04-20 16:37 负责人:无 分享
已邀请:
BoredApe

BoredApe - 有问题就会有答案。

你可以通过overrideUrlLoading拦截跳转。也可以通过setCssText/setCssFile将页面中的【打开app】隐藏掉
类似如下:

plus.webview.open('https://v.qq.com/').setCssText('.at-app-banner--button{display:none}');

  • 2***@qq.com (作者)

    感谢大佬,腾讯视频只是举个例子,隐藏dom只是治标不治本,我是想从根本上禁用js唤起 app,overrideUrlLoading这个要拦截 快应用/app 打开的匹配代码应该怎么写呢?

    2022-04-20 18:24

  • 2***@qq.com (作者)

    this.webview.overrideUrlLoading({mode: "allow", match: /^(http|https)/}, (event) => {

    console.log('拦截URL ', event.url)

    })

    我这样写没有效果,只放行http请求,还是能打开app

    2022-04-20 18:26

小七ing

小七ing - 大家好

app同样遇到时不时弹出快应用,是否解决?

2***@qq.com

2***@qq.com

作者问题解决了吗?

1***@qq.com

1***@qq.com

解决了吗?

  • xzh

    overrideUrlLoading这个方法是有用的,楼主的正则写错了


    wv.overrideUrlLoading(  
    { mode: 'allow', match: '^(http|https)://.*' },
    function (e: any) {
    console.log('reject url: ' + e.url);
    }
    );

    2022-09-28 10:42

小七ing

小七ing - 大家好

作者问题解决了吗?

  • xzh

    overrideUrlLoading这个方法是有用的,楼主的正则写错了


    wv.overrideUrlLoading(  
    { mode: 'allow', match: '^(http|https)://.*' },
    function (e: any) {
    console.log('reject url: ' + e.url);
    }
    );

    2022-09-28 10:42

1***@qq.com

1***@qq.com

如何禁止点击webview中的链接弹出打开方式让选择浏览器?

d***@163.com

d***@163.com

overrideUrlLoading 试过了,只能阻止链接跳转,不能阻止跳转浏览器。有没大佬解决了的?

要回复问题请先登录注册