i***@hotmail.com
i***@hotmail.com
  • 发布:2020-04-16 11:35
  • 更新:2020-04-22 10:19
  • 阅读:1117

IOS13.4 WKWebview 请求本地文件问题, 导致无法上架

分类:HTML5+

你好, 我这边使用HbuilderX 开发了一个基于BUI框架的App单页应用, 这个应用在安卓都是正常的, 但由于IOS采用了新的 WKWebview, 本来wkwebview也没有问题, 因为BUI底层可以修改状态来选择采用原生请求, new plus.net.XMLHttpRequest(); 这样就可以解决跨域问题, 在IOS 13.4 以下一切正常, 在13.4 测试, 会导致停留在启动页, 一个最简单的测试代码.

document.addEventListener('plusready', function(argument) {  
     var localurl = plus.io.convertLocalFileSystemURL("pages/main/category.html")  
    $.ajax({  
        xhr: function() {  
            return new plus.net.XMLHttpRequest();  
        },  
        url: localurl,  
        // contentType: "text/html",  
        // mimeType: "text/plain; charset=utf-8",  
        dataType: "text",  
        type: "GET",  
        success: function(res){  
                        // ios 13.3 都支持  
            alert(res);  
        },  
    })  
 }, false);


在IOS 8.x 及真机都能弹出

附件有更完整的工程, 可以预览试试.

附件工程说明:

bui.isWebapp = true 是用来PC调试, 打开跨域的Chrome就能预览, 目前的工程为 false, 会调用 plusready , 只能在Hbuilderx 里面新增工程运行, 图片为 IOS8 的弹出, 如果是IOS 13.4 则无法看到预览效果.

是否IOS 13.4 的请求跟IOS13.3 的参数不一致呢? 望能尽快帮忙解决, 谢谢.

2020-04-16 11:35 负责人:无 分享
已邀请:
i***@hotmail.com

i***@hotmail.com (作者) - easybui

不用了, 我解决了. 更新新版 bui.js 便可以了.

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