2014-09-13 79 views
0

Javascript文件沒有被拉進我的Phonegap應用程序。這是一個最近的問題,很坦率地把我逼瘋了。這是我的index.html文件的頂部:Phonegap App不包括javascript文件

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.css"> 
    <link rel="stylesheet" type="text/css" href="css/index.css" /> 
    <title>Hello World</title> 
    <script type="text/javascript" src="cordova.js"></script> 
    <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyD90W6MypWGP6s4luD2kQHhZ9IFQrfr04g&sensor=true"></script> 
    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=visualization"></script> 
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
    <script src="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script> 
    <script type="text/javascript" src="js/index.js"></script> 
    <script type="text/javascript" src="js/facebook.js"></script> 
    <script type="text/javascript"> 
     app.initialize(); 
    </script> 

這是我想拉我facebook.js文件:

$(document).on('ready' , function(){ 
console.log('ready') 

function onDeviceReady(){ 

console.log('test') 

var plugin = new CC.CordovaFacebook(); 

plugin.init('***************', 'myapp', 
    ['email'], 
    function(response){console.log(response)}, 
    function(failure){console.log(failure)}); 

var loginButton = $('#login-with-facebook'); 

loginButton.on('click' , function(e){ 
    e.preventDefault(); 

    plugin.login(function(token) { 
     console.log("Access token is: " + token); 
    }), function(failure){console.log(failure)}); 

}) 


} 
if (window.cordova.logger) {window.cordova.logger.__onDeviceReady();}; 
onDeviceReady(); 
document.addEventListener("deviceready", onDeviceReady, false); 

}) 

我不能在任何console.long facebook.js文件。什麼讓我更加瘋狂是因爲它有時候很有效。我的文件是否失序?另外,安裝一個cordova facebook插件後,我似乎只是遇到了這個問題。有人知道這裏發生了什麼嗎?

回答

0

因爲你在一個匿名事件處理函數中定義了你的onDeviceReady函數,所以它在加載DOM之前是不可用的(並且不應該只能從事件處理函數中訪問),這隻有在設備在DOM加載之前已準備就緒,並且僅因爲onDeviceReady在onDocumentReady事件處理程序中手動調用。請將您的facebook.js替換爲以下代碼:

function onDeviceReady(){ 

    console.log('test') 

    var plugin = new CC.CordovaFacebook(); 

    plugin.init('443530475777959', 'spencerspiegelapp', 
     ['email'], 
     function(response){console.log(response)}, 
     function(failure){console.log(failure)}); 

    var loginButton = $('#login-with-facebook'); 

    loginButton.on('click' , function(e){ 
     e.preventDefault(); 

     plugin.login(function(token) { 
      console.log("Access token is: " + token); 
     }), function(failure){console.log(failure)}); 

    }) 
} 

$(document).on('ready' , function() { 
    console.log('ready') 
    document.addEventListener("deviceready", onDeviceReady, false); 

    if (window.cordova.logger) { 
    window.cordova.logger.__onDeviceReady(); 
    } 
});