碧霜寒冰
碧霜寒冰
  • 发布:2018-12-24 10:19
  • 更新:2018-12-24 10:57
  • 阅读:1550

【报Bug】iOS 拦截Webview窗口的资源加载不生效

分类:5+ SDK

[内容]
在manifest.json中配置了launchwebview的overrideresource,相同的配置在安卓中是生效的,但在iOS中就不生效

        "kernel": {  
            "ios":"WKWebview"  
        },  
        "launchwebview": {  
            "overrideresource": [{  
                "match": "(.*)/framework7\\.min\\.js",  
                "redirect": "_www/js/framework7.min.js"  
            },  
            {  
                "match": "(.*)/framework7\\.min\\.css",  
                "redirect": "_www/css/framework7.min.css"  
            },  
            {  
                "match": "(.*)/app_webview\\.js",  
                "redirect": "_www/js/app_webview.js"  
            },  
            {  
                "match": "(.*)/H5lock\\.min\\.js",  
                "redirect": "_www/js/H5lock.min.js"  
            }]  
        }

除此之外,直接用webview的overrideResourceRequest方法设置,也不生效

var overrideResourceOptions = [{  
    "match": "(.*)/framework7\\.min\\.js",  
    "redirect": "_www/js/framework7.min.js"  
},  
{  
    "match": "(.*)/framework7\\.min\\.css",  
    "redirect": "_www/css/framework7.min.css"  
},  
{  
        "match": "(.*)/app_webview\\.js",  
        "redirect": "_www/js/app_webview.js"  
},  
{  
    "match" : "(.*)/H5lock\\.min\\.js",  
    "redirect" : "_www/js/H5lock.min.js"  
}];  
var externalWebview = plus.webview.create(externalSrc, "externalWebview", {  
    mask: "rgba(0,0,0,0.4)", // 遮罩层  
    kernel: "WKWebview", // webview内核  
    background: backgroundColor, // 窗体背景  
    progress: {// 加载进度条  
        color: "#03a9f4"  
    },  
    userSelect: false, // 是否可以长按选择页面文本  
    statusbar:{ // 状态栏样式  
        background: statusColor  
    }  
});  
externalWebview.overrideResourceRequest(overrideResourceOptions);

IDE运行环境说明
[5+SKD] 20181212最新版
[mac版本号] xCode 10.1

App运行环境说明
[iOS版本号] iphone 6s 12.1

2018-12-24 10:19 负责人:无 分享
已邀请:
DCloud_IOS_XTY

DCloud_IOS_XTY

ios拦截资源不支持

  • 碧霜寒冰 (作者)

    接口文档不是显示是支持的吗

    2018-12-24 11:01

  • DCloud_IOS_XTY

    你拦截的是资源不是跳转ios只支持跳转的拦截

    2018-12-24 11:13

  • 碧霜寒冰 (作者)

    回复 DCloud_IOS_XTY:接口文档中提到的不是支持的吗,说的好像就是拦截资源overrideResourceRequest:

    http://www.dcloud.io/docs/api/zh_cn/webview.html#plus.webview.WebviewObject.overrideResourceRequest


    另外相关的还有listenResourceLoading监听资源加载,overrideUrlLoading连接跳转url

    http://www.dcloud.io/docs/api/zh_cn/webview.html#plus.webview.WebviewObject.overrideUrlLoading

    http://www.dcloud.io/docs/api/zh_cn/webview.html#plus.webview.WebviewObject.listenResourceLoading

    2018-12-24 11:25

  • DCloud_IOS_XTY

    你拦截的WKWebview 不支持资源

    2018-12-24 11:27

  • 碧霜寒冰 (作者)

    回复 DCloud_IOS_XTY:我调成了UIWebview也不生效,这个API文档也没有提到说WKWebview不支持o(╥﹏╥)o

    2018-12-24 12:04

  • DCloud_IOS_XTY

    如何UIWebview不行的话可能是bug

    2018-12-24 16:01

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