android - android应用程序中的iFrame不允许任何网络请求
问题描述
细节:
我有一个为应用商店(iOS 和 Android)构建并为 Web 构建的生产应用程序。
客户在其应用程序(Android 和 iOS)中的 iFrame 中使用 Web 版本。
网页版在 iOS 和 Android 中正确显示。
问题:
在我的应用程序的网络版本(来自客户端 iFrame)中完成的所有网络请求仅在 Android 设备中不起作用。在查尔斯检查请求时,请求根本没有出现。
使用我的应用程序的 Web 版本,请求在 iOS 中按预期通过。
我查看了 CSP 元标记,但没有一个有所作为:
https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-whitelist/
他们有什么明显的我失踪了吗?
这是网页版 index.html 文件:
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<script data-ionic="inject">
(function(w){var i=w.Ionic=w.Ionic||{};i.version='3.9.2';i.angular='5.2.11';i.staticDir='build/';})(window);
</script>
<meta charset="UTF-8">
<title>TEST</title>
<meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="format-detection" content="telephone=no">
<meta name="msapplication-tap-highlight" content="no">
<link rel="icon" type="image/x-icon" href="assets/icon/favicon.ico">
<link rel="manifest" href="manifest.json">
<meta name="theme-color" content="#4e8ef7">
<!-- add to homescreen for ios -->
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta http-equiv="Content-Security-Policy" content="default-src *;">
<!-- cordova.js required for cordova apps -->
<script src="cordova.js"></script>
<!-- un-comment this code to enable service worker -->
<script>
if ( 'location' in window ) {
if ( window.location.protocol === 'http:' ) {
window.location.protocol = 'https:';
}
}
if ( 'serviceWorker' in navigator ) {
navigator.serviceWorker.register( 'service-worker.js' )
.then( () => console.log( 'service worker installed' ) )
.catch( err => console.error( 'Error', err ) );
}
</script>
<link href="build/main.css" rel="stylesheet">
</head>
<body>
<!-- Ionic's root component and where the app will load -->
<ion-app></ion-app>
<!-- The polyfills js is generated during the build process -->
<script src="build/polyfills.js"></script>
<!-- The vendor js is generated during the build process
It contains all of the dependencies in node_modules -->
<script src="build/vendor.js"></script>
<!-- The main bundle js is generated during the build process -->
<script src="build/main.js"></script>
</body>
</html>
解决方案
推荐阅读
- reactjs - 虚拟化选择:如何在特定标签上进行搜索
- android - Android Studio:多活动问题,活动不移动到下一个活动
- php - 为什么Yii 2什么都没有加载
- azure - 使用 Azure 文件共享中的配置在 Azure 中运行 docker 容器(蚊子代理)
- c# - 如何使用 nodatime 获取所有美国时区 ID
- mysql - 通过检查用户和团队的两个映射表来获取项目
- python - 如何在python的while循环中获取值?
- snowflake-cloud-data-platform - 账户级和用户级网络策略的区别
- python - 如何在序列化程序中创建自定义列表字段,其中包含另一个序列化程序(模型),django rest 框架?
- sql-server - 在 SQL XML 数据类型中按顺序循环不同类型的节点