javascript - 电容Android不加载http javascript源
问题描述
我试图在http://127.0.0.1:4002/的 URL 下从我的本地 Web 服务器加载远程脚本/css
但似乎在电容器 android 中有错误,电容器 ios 工作正常。我还设法从没有任何错误的情况下加载 css https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap-grid.min.css
我猜不支持http?
这是我加载它的代码
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap-grid.min.css" />
<link href="http://127.0.0.1:4002/test/fonts.css" rel="stylesheet" />
<meta charset="utf-8" />
<meta
name="viewport"
content="initial-scale=1, maximum-scale=1.0, minimum-scale=1.0, width=device-width, height=device-height, viewport-fit=cover, user-scalable=no"
/>
<title>My Title</title>
</head>
<body id="body">
</body>
</html>
这是我在“chrome://inspect/#devices”下遇到的错误
我的依赖:
"@capacitor-community/http": "^1.0.0-alpha.1",
"@capacitor/android": "^3.0.0-rc.0",
"@capacitor/cli": "^3.0.0-rc.0",
"@capacitor/core": "^3.0.0-rc.0",
"@capacitor/device": "^0.5.5",
"@capacitor/dialog": "^0.4.5",
"@capacitor/filesystem": "^0.5.1",
"@capacitor/ios": "^3.0.0-rc.0",
我的电容器.config.json
{
"appId": "com.example.app",
"appName": "hello-cap-2",
"bundledWebRuntime": false,
"npmClient": "npm",
"webDir": "www",
"plugins": {
"SplashScreen": {
"launchShowDuration": 0
}
},
"server": {
"allowNavigation": ["*"]
},
"android": {
"allowMixedContent": true
},
"cordova": {}
}
解决方案
在https://github.com/ionic-team/capacitor/discussions/4477得到了答案
127.0.0.1 是你的电脑,iOS 模拟器理解它,因为模拟器运行在你的电脑上,但是在 Android 上,模拟器是一个拥有自己网络的“虚拟机”,所以 127.0.0.1 是它自己的模拟器,而不是你的电脑。
您可以启用端口转发以将 4002 端口流量发送到模拟器,或者您可以使用 10.0.2.2 IP,因为它会自动循环到 127.0.0.1
https://developer.android.com/studio/run/emulator-networking
另外,请注意,由于同样的原因,使用 127.0.0.1 将无法在真实设备上使用,最好使用计算机的本地 IP,例如 192.168.1.30
推荐阅读
- python - PyEphem:RA 和分离问题
- java - 使用 checkstyle maven 插件时无法执行目标
- tensorflow - CUDA10 + CUDNN + tensorflow 能在 Ubuntu14.04 上运行吗?
- javascript - 当用户名和密码为空时,如何在单击登录按钮时停止重定向?
- node.js - 使用 Angular 和 Nodejs 将文件保存到 mongodb
- php - 使用 PHP 从 main.db 获取 Skype 聊天记录同步到 MySQL
- mapreduce - 如何在 map-reduce 处理中为每个工作人员收集 map 或 reduce 步骤结果?
- swift - 将字符串转换为枚举
- javascript - 当消息不匹配时让hubot响应
- c - 无法打开 Windows 命名管道进行写入?