Javascript 未捕获引用错误:与phonegap一起使用时未定义Firebase
我有以下html代码Javascript 未捕获引用错误:与phonegap一起使用时未定义Firebase,javascript,html,dom,firebase,Javascript,Html,Dom,Firebase,我有以下html代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Current Tour</title> <!-- cordova --> <script type="text/javascript" src="../cordova.js"></script> <!-- jq
<!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>
如果我创建一些按钮并使用button onclick事件调用onDeviceReady,它就可以正常工作。但是,如果我尝试使用事件侦听器deviceready调用onDeviceReady,我会得到以下错误:未捕获引用错误:未定义Firebase。
deviceready
表示PhoneGap API已准备就绪,而不是外部JavaScript已完成加载()
相反,您应该使用传统的事件。值得注意的是,Firebase有一个专门用于PhoneGap的库:如何检查是否已加载外部Java脚本。
load
事件将在加载后触发。
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);