我知道这是一个常见的问题,但所有的解决办法都是“包括cordova.js in index.html”或"change href=".“to 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>该事件从未被触发。
我如何安装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 androidcordova's 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"
]
}发布于 2018-05-16 15:49:27
deviceready事件处理程序的设置是正确的。问题似乎在于您包含了cordova.js。下面是您应该做的疑难解答:
cordova.js。试着改变这个:
<script src=”cordova.js”></script>
对此:
<script src="cordova.js"></script>
chrome://inspect,在它运行的时候对它进行实时检查。确保cordova.js确实存在,并且在应用程序引导时成功地加载了它。cordova.js的顺序可能会产生影响。您可能需要将<script src="cordova.js"></script>移到设置deviceready事件处理程序的<script>块下。https://stackoverflow.com/questions/50374888
复制相似问题