Kod*_* R. 10 javascript cordova
对于我的cordova项目,deviceready没有正确启动(至少在iOS中).我已经搜索了几个小时但仍无法解决这个问题.我做错了什么吗?js/cordova.js的路径也存在:
<html>
<head>
<title>Geolocation</title>
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, target-densityDpi=device-dpi, user-scalable=no" />
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="css/app.css">
<script type="text/javascript">
// Fastclick
if ('addEventListener' in document) {
document.addEventListener('DOMContentLoaded', function() {
FastClick.attach(document.body);
}, false);
}
</script>
<script type="text/javascript" charset="utf-8" src="js/cordova.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for device API libraries to load
//
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
// device APIs are available
//
function onDeviceReady() {
alert("ready");
// Now safe to use device APIs
}
</script>
</head>
<body onload="onLoad()">
Run Code Online (Sandbox Code Playgroud)
我不确定我错过了什么,因为如果我在Chrome中检查,我没有收到任何错误
sla*_*art 10
没有必要cordova.js在www/js/文件夹内部,因为该文件从另一个位置复制到platforms/ios/platform_www(即通过运行:) cordova build ios与index.html文件相同的级别,因此为了获得正确的配置,下一个语句:
<script type="text/javascript" charset="utf-8" src="js/cordova.js"></script>
Run Code Online (Sandbox Code Playgroud)
必须改为:
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
Run Code Online (Sandbox Code Playgroud)
deviceready事件对任何应用程序都至关重要 它表示Cordova的设备API已加载并可以访问.
更新
所以我通过从正文中删除onload ="onLoad()"并替换它来使"deviceready"工作:
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
Run Code Online (Sandbox Code Playgroud)
就这样:
document.addEventListener("deviceready", onDeviceReady, false);
Run Code Online (Sandbox Code Playgroud)
我遇到了同样的问题,我的解决方案是添加:
<script type="text/javascript" src="cordova.js"></script>
Run Code Online (Sandbox Code Playgroud)
在 HTML 文件中,一切正常
| 归档时间: |
|
| 查看次数: |
14146 次 |
| 最近记录: |