我创建了一个Angular 2应用程序,我正在寻找使用Apache Cordova创建Android应用程序。当我在Marshmallow模拟器中加载应用程序时,应用程序不会加载任何声明的资源。如果我使用浏览器插件,它按预期工作。使用Chrome检查设备的控制台会显示以下输出。
Chrome控制台输出
如果我运行Cordova初始样本,它可以在同一个Android模拟器中运行,因此它必须是源代码的问题。可以在Github repository中检查代码。该应用程序位于 www 目录中,为了测试,必须添加 android 平台。
$ cordova platform add android
$ cordova run android
我找不到这个问题的答案:
拜托,有谁知道这个设置有什么问题?
答案 0 :(得分:1)
我找到了根本原因。问题是,通过使用angular-cli
工具,标签<base href="/">
会自动添加。根据{{3}},它为解析所有文档的相对URL提供了基础。
对于此用例,删除基本标记或将其配置为有效值(如<base href="/android_asset/www/">
)可解决问题。由于我没有使用路由功能(还),我觉得更容易删除它或设置像<base href="."/>
这样的值,它适合更多的平台构建。
答案 1 :(得分:0)
您是否尝试修改内容安全政策? 或者如何在config.xml中修改'allow-intent'? 当我遇到资源时,这些都有帮助。