我正在做一个cordova ios (6.1.0)项目,我想实现一个本地WKURLSchemeHandler来拦截自定义方案处理,以解决我的cors问题。
具体地说,我想做一些类似的事情:https://medium.com/@kumarreddy_b/custom-scheme-handling-in-uiwebview-wkwebview-bbeb2f3f6cc1
在iOS 11之前,我们没有任何系统API来拦截来自WKWebView.In iOS 11的事件。为了简化我们的工作,我们有了一个名为WKURLSchemeHandler的WKWebView新API。
这意味着如果您想自己处理一些请求,那么只需定义自定义方案并将其设置为WKWebViewConfiguration即可。
我的自定义方案是app://myapp,但我需要实现一个WKURLSchemeHandler并将其注册到WKWebViewConfiguration。
有没有办法在cordova上实现原生ios代码?
发布于 2020-09-01 15:37:30
你不需要实现SchemeHandler,它已经在cordova-ios中了。只需将此方案放入您的config.xml:
<platform name="ios">
<preference name="scheme" value="app" />
<preference name="hostname" value="localhost" />
....
</platform>(您可能还需要设置iosExtraFilesystems和iosPersistentFileLocations首选项)
在你的JS代码中,从WkWebKit获取实际的网址,例如cordova.file.DataDirectory:
url = window.WkWebView.convertFilePath( cordova.file.dataDirectory ) + subPath;
window.open( url );https://stackoverflow.com/questions/63471620
复制相似问题