Cordova 为什么爱奥尼亚应用程序在没有webview插件的情况下使用cross-origin

Cordova 为什么爱奥尼亚应用程序在没有webview插件的情况下使用cross-origin,cordova,ionic-framework,webview,ionic4,Cordova,Ionic Framework,Webview,Ionic4,我正在使用Ionic 4,直到现在我还没有使用webview插件,但我不知道为什么/如何应用程序可以毫无问题地进行跨源调用 对于我来说,如果我使用一些本机插件,如cordova插件文件| cordova插件摄像头,我应该安装cordova插件ionic webview,但事实并非如此,没有cordova插件ionic webview,应用程序在使用cordova插件时运行良好 但是因为我必须显示保存在设备中的图像(使用img标签),我必须安装cordova插件ionic webview,之后跨源

我正在使用Ionic 4,直到现在我还没有使用webview插件,但我不知道为什么/如何应用程序可以毫无问题地进行跨源调用

对于我来说,如果我使用一些本机插件,如cordova插件文件| cordova插件摄像头,我应该安装cordova插件ionic webview,但事实并非如此,没有cordova插件ionic webview,应用程序在使用cordova插件时运行良好

但是因为我必须显示保存在设备中的图像(使用img标签),我必须安装cordova插件ionic webview,之后跨源不再工作(服务器不会返回正确的标题)

因此,我的问题是:

  • 为什么我可以在没有cordova插件的情况下使用cordova插件(访问本机代码)ionic webview
  • 为什么我可以跨域删除cordova插件ionic webview,即使服务器没有返回好的标题(对我来说,每个ionic应用程序都是一个webview)
  • 为什么添加cordova插件ionic webview会激活CORS

    • Cordova插件通常不依赖于webview类型或其他插件,如ionic webview

      默认情况下(没有更改webview的插件),cordova使用iOS UIWebView组件,该组件不强制实施CORS策略


      cordova插件ionic webview插件将用执行CORS策略的最近的WKWebView取代UIWebView。

      好的,也许对于ios/apple是这样,但为什么在android中是相同的呢?我所说的是,没有ionic webview,所有引用都带有file:前缀,而使用ionic webview,所有引用都在http和localhost中,这就是CORS活跃的原因。但为什么爱奥尼亚网络视图添加http?我认为ionic webview文档不清楚,好吧,在再次阅读文档后,我想我理解了原因。如果我使用插件,我将不使用webview操作系统,我将使用一个与应用程序一起编译的webview,这一个将与http协议一起使用,因此CORS将处于活动状态。因此,所有爱奥尼亚应用程序都将使用webview,但插件会添加自定义webview。