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

【报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

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