我知道这是一个常见问题,但所有找到的解决方法都是" 在index.html中包含cordova.js "或"更改href ="."到href ="./""
我认为应用程序中未加载cordova API,因为未调用deviceready回调.但我仍然可以运行应用程序(但使用navigagor.mediadevices的组件不起作用).
的index.html
<base href="./">
<script src=”cordova.js”></script>
<script>
window.isready = false;
function ready(){
alert('test');
console.log('test');
window.isready = true; // this is always false
}
document.addEventListener('deviceready', ready, false);
</script>
Run Code Online (Sandbox Code Playgroud)
该事件从未被解雇
我如何安装cordova并构建应用程序
npm install -g cordova
cordova create cordova
cd cordova && cordova platforms add android
rm -rf cordova/www/*
ng build --prod --aot --output-path=cordova/www
cd cordova && cordova build android
Run Code Online (Sandbox Code Playgroud)
cordova的package.json
...
"dependencies": {
"cordova-android": "^7.0.0",
"cordova-plugin-device": "^2.0.2",
"cordova-plugin-file": "^6.0.1",
"cordova-plugin-media-capture": "^3.0.2",
"cordova-plugin-whitelist": "^1.3.3"
},
"cordova": {
"plugins": {
"cordova-plugin-whitelist": {},
"cordova-plugin-media-capture": {},
"cordova-plugin-device": {}
},
"platforms": [
"android"
]
}
Run Code Online (Sandbox Code Playgroud)
事件处理程序的设置deviceready
是正确的.问题似乎是你的包含cordova.js
.以下是您应该排除故障的方法:
cordova.js
使用倾斜双引号而不是纯双引号.尝试改变这个:
<script src=”cordova.js”></script>
对此:
<script src="cordova.js"></script>
在Android设备上运行应用程序,通过USB将设备连接到计算机,在设备上启用开发人员模式调试,并chrome://inspect
在应用程序运行时打开以实时检查应用程序.确保cordova.js
实际存在并且在应用程序启动时成功加载.
您包含的顺序cordova.js
可以有所作为.您可能需要在设置事件处理程序<script src="cordova.js"></script>
的<script>
块下移动deviceready
.
归档时间: |
|
查看次数: |
725 次 |
最近记录: |