2014-09-13 75 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(); 
    } 
});