未捕获的参考错误:使用phonegap时未定义Firebase

时间:2014-01-18 19:01:56

标签: javascript html html5 dom firebase

我有以下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未定义。

1 个答案:

答案 0 :(得分:1)

deviceReady表示 PhoneGap API已准备就绪,而不是外部JavaScript已完成加载(http://docs.phonegap.com/en/1.0.0/phonegap_events_events.md.html)。

相反,您应该使用传统的load事件。