起因

  1. cordova的webview默认使用file协议打开页面
  2. qiankunJs无法(基于fetch)使用file协议加载子应用
  3. Cookie也无法在file协议下使用

双击页面以file协议打开qiankun项目,将无法加载子应用,会报如下错误

registerServiceWorker.ts:29 Error during service worker registration: TypeError: Failed to register a ServiceWorker: The URL protocol of the current origin ('null') is not supported

参考

qiankun 是否支持前端离线包本地加载

混合应用:从 file 协议到本地 HTTP 服务器

cordova-plugin-ionic-webview跨域问题

解决办法

因为cordova几乎没人维护,但是因为优秀的思路被ionic团队看重,并为期续命。

所以,为cordova编写一个可以在原生内部起服务的形式打开页面(即http访问页面的)插件cordova-plugin-ionic-webview

cordova plugin add cordova-plugin-ionic-webview
npm install @ionic-native/ionic-webview

安装完成,再次打开,页面将是以http的形式打开。

协议默认http

域名默认localhost

端口默认80

若无特殊要求,无需任何配置即可。

注意事项

  1. 默认cordova是支持跨域,因为在config.xml中这句话就是允许跨域
<access origin="*" />

但是使用cordova-plugin-ionic-webview即出现跨域现象,

解决办法:最简单的就是让后端放开跨域或者nginx代理跨域即可。

  1. nginx代理后出现如下跨域错误的
The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'. The credentials mode of requests initiated by ...

把vue项目中的axios.defaults.withCredentials = true; 删除即可

建议前后端分离的项目,用token代替cookie,从而避免过多坑

预览

cordova使用http协议打开页面(cordova结合qiankunJs)的更多相关文章

  1. 【转】iframe和父页,window.open打开页面之间的引用

    [转]iframe和父页,window.open打开页面之间的引用 iframe和父页,window.open打开页面和被打开页面之间的关系可以通过下面的对象获取到 1)通过iframe加载的,在if ...

  2. Cordova入门系列(三)Cordova插件调用 转发 https://www.cnblogs.com/lishuxue/p/6018416.html

    Cordova入门系列(三)Cordova插件调用   版权声明:本文为博主原创文章,转载请注明出处 上一章我们介绍了cordova android项目是如何运行的,这一章我们介绍cordova的核心 ...

  3. Cordova与现有框架的结合,Cordova插件使用教程,Cordova自定义插件,框架集成Cordova,将Cordova集成到现有框架中

    一.框架集成cordova 将cordova集成到现有框架中 一般cordova工程是通过CMD命令来创建一个工程并添加Android.ios等平台,这样的创建方式可以完整的下载开发过程中所需要的的插 ...

  4. HTML:模拟链接被按下,在新标签页打开页面,不使用window.open(可能被拦截)

    当按下一个按钮时,想打开一个新的标签页,可以使用window.open去实现但是因为使用window.open在新窗口或者新标签页中打开页面,有可能被浏览器给拦截.为了解决这个问题,可以模拟链接被按下 ...

  5. C# winform调用浏览器打开页面方法分享,希望对大家有帮助

    在很多客户端程序中我们都需要调用浏览器打开网页,这里分享一个可以在我winform程序调用浏览器的方法,测试通过了. 声明:这个方法是上万个用户测试通过的,不是我没有测试通过就拿出来分享,那个是自己搬 ...

  6. 如何在Flash中新窗口打开页面而不被拦截

    Flash的wmode必须是opaque或者transparent,允许Flash访问页面脚本.另外跳转必须是点击直接触发. 代码:ExternalInterface.call("windo ...

  7. (转载)HTML:模拟链接被按下,在新标签页打开页面,不使用window.open(可能被拦截)

    原文: http://www.cppblog.com/biao/archive/2010/08/21/124196.html 当按下一个按钮时,想打开一个新的标签页,可以使用window.open去实 ...

  8. Easyui datebox控件打开页面就验证解决方法

    问题描述: datebox时间控件有些场景下默认值需要为空,但是为空的情况下打开页面会自动验证,十分影响美观. 实现原理: <input class="easyui-databox&q ...

  9. 根据打开页面加载不同Js

    根据打开页面加载不同Js //根据打开页面加载不同JS $(document).ready(function(){ var href = document.URL; /*获取当前页面的URL*/ if ...

  10. 背水一战 Windows 10 (101) - 应用间通信: 通过协议打开指定的 app 并传递数据以及获取返回数据, 将本 app 沙盒内的文件共享给其他 app 使用

    [源码下载] 背水一战 Windows 10 (101) - 应用间通信: 通过协议打开指定的 app 并传递数据以及获取返回数据, 将本 app 沙盒内的文件共享给其他 app 使用 作者:weba ...

随机推荐

  1. 【深度解析】SkyWalking 10.2.0版本安全优化与性能提升实战指南

    前言 Apache SkyWalking 作为云原生可观测性领域的佼佼者,在微服务架构监控中扮演着至关重要的角色.然而,官方版本在安全性.镜像体积和功能扩展方面仍有优化空间.本文将分享一套完整的 Sk ...

  2. Redis 集群实现分布式缓存的示例操作流程【Redis 系列之五】

    〇.前言 Redis 集群的核心优势在于高可用性.可扩展性和高性能,特别适合需要处理大规模数据和高并发请求的应用场景. 本文先介绍了什么是 Redis 集群,然后通过示例,以手动和自动两种方式搭建集群 ...

  3. jmeter使用之请求体包含多个数据

    在使用jmeter做压测时,除了增加并发数,还可能在请求体中增加多个字段相同的list.如图: 如果是几百条可以复制粘贴,但是几千上万条复制粘贴就比较费时费力了.另外可能这些数据并不是完全相同,可能还 ...

  4. nodejs判断文件的字符集编码

    ----------------------------------- 通过前2字节判断: 编码 16进制数 unicode FF FE  或 FE FF utf-8 EF BB 代码: var fs ...

  5. Nacos简介—1.Nacos使用简介

    大纲 1.Nacos的在服务注册中心 + 配置中心中的应用 2.Nacos 2.x最新版本下载与目录结构 3.Nacos 2.x的数据库存储与日志存储 4.Nacos 2.x服务端的startup.s ...

  6. SpringBoot3启动报错 java.lang.ClassNotFoundException: java.text.ListFormat

    问题 在使用SpringBoot3创建web项目的时候日志报错java.lang.ClassNotFoundException: java.text.ListFormat. 具体报错如下: java. ...

  7. RPC实战与核心原理之优雅启动

    优雅启动:如何避免流量打到没有启动完成的节点? 回顾 优雅停机,就是为了让服务提供方在停机应用的时候,保证所有调用方都能"安全"地切走流量,不再调用自己,从而做到对业务无损.其中实 ...

  8. eclipse界面混乱还原方法

    WindowPerspectiveReset Perspective

  9. [极客大挑战 2019]FinalSQL 1

    [极客大挑战 2019]FinalSQL 1 这篇主要是考察布尔盲注,而且他很贼,弄了两个输入框,但过滤的东西很多:真正的注入点在search.php传入的参数.说来惭愧,之前就做过布尔盲注的题目,结 ...

  10. Windows系统 C/C++程序编译后首次执行时间很长 断网则正常执行 的解决方法

    Windows系统 C/C++程序编译后首次执行时间很长 断网则正常执行 的解决方法 如果您遇到此类问题,可以与我联系.我可尝试帮助您解决此问题,2SADFC4F%2$@!0$#@$%2!@#$3#! ...