gpt4 book ai didi

适用于 Windows 10 的 Cordova 应用程序在代理后面启动时卡在启动屏幕上

转载 作者:行者123 更新时间:2023-12-02 11:23:55 25 4
gpt4 key购买 nike

我有一个 Cordova 应用程序在连接到互联网的多个设备上运行良好。

观察到的行为:

但是当我在我们的开发环境虚拟机上部署应用程序时,它只是在启动屏幕上卡住。我注意到的一件奇怪的事情是,每次我启动浏览器时,它都会要求我登录代理服务器。这是因为代理使用我的生产凭据进行身份验证。凭据保存在浏览器中,我只需单击“确定”即可。我觉得该应用程序无法启动,因为 Web View 正在等待代理登录提示进行操作,这在启动时显然是不可见的。该应用程序只是坐在那里直到关闭。

此外,当我使用 VS2017 在 Debug模式下运行应用程序时,index.html 文件仅加载 head 标记,没有 body 标记

所有库和脚本都在 head 选项卡中本地引用,因为该应用程序也可以离线工作。下面的头部示例。

配置:

index.html

    <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
<link rel="stylesheet" href="css/jquery-ui.css">
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="scripts/datepicker/bootstrap-datetimepicker.min.css">
<link rel="stylesheet" href="scripts/daterangepicker/daterangepicker.css">
<link rel="stylesheet" href="scripts/timepicker/bootstrap-timepicker.min.css">
<link rel="stylesheet" href="scripts/easyautocomplete/easy-autocomplete.css">
<link href="scripts/growl/jquery.growl.css" rel="stylesheet" type="text/css" />
<link href="scripts/jquery-confirm/jquery-confirm.min.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="css/SHMOStyles.css" />
<link rel="stylesheet" href="css/ripple.min.css">
<script type="text/javascript" src="scripts/jquery-2.2.3.min.js"></script>
<script type="text/javascript" src="scripts/jquery-ui.min.js"></script>
<script type="text/javascript" src="scripts/bootstrap.min.js"></script>
<script type="text/javascript" src="scripts/fastclick.js"></script>
<script type="text/javascript" src="mapapi.js"></script>
<script type="text/javascript" src="scripts/index.js"></script>
<script type="text/javascript" src="scripts/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="scripts/dataTables.bootstrap.min.js"></script>
<script type="text/javascript" src="scripts/hammer.min.js"></script>

我在 config.xml 中使用了一些插件,但是当我在生产环境或任何直接连接到互联网的设备中运行它们时,它们中的任何一个都没有问题。在生产中,它使用相同的凭据进行计算机登录和代理,因此我不会像在开发环境中那样收到登录提示。

config.xml

<vs:platformSpecificValues>
<vs:platformSpecificWidget platformName="windows" id="SIMSMobileV0" />
</vs:platformSpecificValues>
<plugin name="cordova-plugin-fastclick" spec="~1.0.0" />
<plugin name="cordova-plugin-file-opener2" spec="~2.0.19" />
<plugin name="cordova-sqlite-storage" spec="~2.3.1" />
<plugin name="cordova-plugin-camera" spec="~2.4.1" />
<plugin name="cordova-plugin-device" spec="~2.0.2" />
<plugin name="cordova-plugin-network-information" spec="~2.0.1" />
<plugin name="cordova-plugin-splashscreen" spec="~5.0.2" />
<plugin name="cordova-plugin-file" spec="~6.0.1" />
<plugin name="cordova-plugin-zeep" spec="~0.0.4" />
<plugin name="cordova-plugin-file" spec="~6.0.1" />
<plugin name="cordova-plugin-geolocation" spec="~4.0.1" />
<plugin name="cordova-plugin-insomnia" spec="~4.3.0" />

我尝试过的事情:

  1. 覆盖 Windows 10 虚拟机上的代理设置,仍然会导致出现提示

  2. 将凭据保存在代理主机的 Windows/通用凭据中,不走运

  3. 向 npm、git、gradle 等添加了代理配置,但不起作用

问题是,如何解决这种情况:

  1. 应用程序中出现代理登录提示?我做了一些研究,看起来 Cordova 应用程序不支持这一点。但是,很想知道这是否可以做到。
  2. 向应用添加一个模块,以在检测到无连接时管理此行为
  3. 以某种方式在全局范围内设置持久代理,无需安装任何软件或无需连接到 VPN

如果您有任何其他建议/解决方案,我们非常欢迎。任何帮助都将不胜感激。

最佳答案

通过网络监视器的进一步分析,我可以看到流向 google fonts api 的流量。所以,问题是页面标题有一行连接到 google api 获取字体。这是在寻找互联网连接,代理将使用 HTTP 407 来质询凭据。

    <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">

注释掉此行后,应用程序现在可以成功启动。希望它也能帮助其他人。

关于适用于 Windows 10 的 Cordova 应用程序在代理后面启动时卡在启动屏幕上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59351224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com