Android Cordova,为什么我不能使用此代码访问源图像文件了?

qvtsj1bj  于 2023-01-11  发布在  Android
关注(0)|答案(2)|浏览(190)

下面的JavaScript代码来自我在Android 13上的Cordova Android应用程序(在Web视图中运行)

var redIcon = L.icon({                                
                iconUrl: 'file:///android_asset/www/lib/images/marker-red-small.png',                           
                iconSize:     [40, 40]
            });

失败并在控制台中触发以下消息:

Not allowed to load local resource: file:///android_asset/www/lib/images/marker-red-small.png

与以前版本的Android(至少版本8和9)使用的代码相同

tmb3ates

tmb3ates1#

“方案https本质上是不可配置的。
请注意,这是一项重大更改,将导致与file://方案关联的数据(如Cookie、本地存储、本地缓存和基于Web的数据库)丢失。你将需要处理数据迁移。如果此时无法迁移数据,你可以通过设置AndroidInsecureFileModeEnabled首选项标志来还原此设置。

<preference name="AndroidInsecureFileModeEnabled" value="true" />

设置此标记将保留file://方案中的内容,Google报告称该方案不安全。”
参见Cordova-android 10的更新文档:https://cordova.apache.org/announcements/2021/07/20/cordova-android-10.0.0.html
我认为这是以上的偏好,不是100%肯定。但如果不是,更新文档应该会帮助你进一步。

w6lpcovy

w6lpcovy2#

根据Mister_CK提交的文档(发布公告),我删除了此部分

file:///android_asset/www/

而且奏效了。
默认情况下,它将使用

https://localhost/

相关问题