我有以下HTML代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Current Tour</title>
<!-- cordova -->
<script type="text/javascript" src="../cordova.js"></script>
<!-- jquery -->
<link rel="stylesheet" href="../jquery/jquery.mobile-1.3.2.min.css">
<script type="text/javascript" src="../jquery/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="../jquery/jquery.mobile-1.3.2.min.js"></script>
</head>
<body>
<!-- firebase database -->
<script type='text/javascript' src='https://cdn.firebase.com/v0/firebase.js'></script>
<!-- current_tour.js -->
<script src="../js/current_tour.js"></script>
<h1>Current Tour</h1>
</body>
</html>
并关注javascript
var trip_id;
function onDeviceReady() {
alert('device ready');
var fb_id_ref = new Firebase('https://trip- chronicle.firebaseio.com/'+window.localStorage.getItem("fb_id"));
console.log("**DEBUG**: Connected to firebase");
var facebook_id = fb_id_ref.name();
fb_id_ref.on('child_added', function(childSnapShot){
console.log("**DEBUG**: fireBaseRef.on()");
trip_id = childSnapShot.ref();
alert(trip_id);
});
}
document.addEventListener("deviceready", onDeviceReady, false);
如果我创建了一个按钮并使用按钮 onclick 事件调用 onDeviceReady ,它可以正常工作。但是,如果我尝试使用事件侦听器 deviceready 调用 onDeviceReady ,我会收到此错误:未捕获的引用错误:Firebase未定义。
答案 0 :(得分:1)
deviceReady
表示 PhoneGap API已准备就绪,而不是外部JavaScript已完成加载(http://docs.phonegap.com/en/1.0.0/phonegap_events_events.md.html)。
相反,您应该使用传统的load
事件。