Angularjs 第二个html页面上的Phonegap.js

Angularjs 第二个html页面上的Phonegap.js,angularjs,cordova,Angularjs,Cordova,我的phonegap应用程序中基本上有两个页面,我正在使用PGB(index.html和main.html)构建,这两个页面都使用angular.js。Index.html是应用程序的登录名,之后会重定向到main.html。我所有的插件和phonegap.js都被很好地注入到main中,但是没有一个内联js(doc-ready、device-ready、windowload上的警报)被触发,更不用说phonegap.js也被加载了 如有任何建议,将不胜感激 脚本包括: <script s

我的phonegap应用程序中基本上有两个页面,我正在使用PGB(index.html和main.html)构建,这两个页面都使用angular.js。Index.html是应用程序的登录名,之后会重定向到main.html。我所有的插件和phonegap.js都被很好地注入到main中,但是没有一个内联js(doc-ready、device-ready、windowload上的警报)被触发,更不用说phonegap.js也被加载了

如有任何建议,将不胜感激

脚本包括:

<script src="phonegap.js"></script>
<script src="cdv-plugin-fb-connect.js"></script>
<script src="facebook-js-sdk.js"></script> <script>alert("inside pg");</script>
<script src="childbrowser.js"></script>
<script src="js/jquery.js"></script>
<script src="js/angular.min.js"></script>
<script>alert("here");</script>
<script src="js/controllers.js"></script>
<script src="js/klass.min.js"></script>
<script src="js/code.photoswipe.jquery-3.0.5.min.js"></script>
<script src="js/maskedInput.js" type="text/javascript"></script>
<script src="js/jquery.joyride.js"></script>
<script src="js/jquery.fancybox.pack.js"></script>
<script src="http://connect.facebook.net/en_US/all.js" type="text/javascript"></script>

警报(“内部pg”);
警报(“此处”);
脚本:

 alert("p2 adding")
 document.addEventListener("deviceready", onDeviceReady, false);

// PhoneGap is loaded and it is now safe to make calls PhoneGap methods
//
function onDeviceReady() {
    alert("main.html: device is ready");
}

$(window).load(function(){
  alert("window.load happening");
})
</script>

<script>

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-42023187-1']);

  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-42023187-1', 'openvino.com');
  ga('send', 'pageview');

</script>

<script type="text/javascript">
  var objectToLike = window.location;
  var FBactivated = false;

    FB.init({
      appId      : '659381964079214', // App ID
      channelURL : '', // Channel File, not required so leave empty
      status     : true, // check login status
      cookie     : true, // enable cookies to allow the server to access the session
      oauth      : true,
      xfbml      : true  // parse XFBML
    });
    FB.Event.subscribe('auth.authResponseChange', function(response) {
      // Here we specify what we do with the response anytime this event occurs. 
      if (response.status === 'connected') {
        getFriends();
        testAPI();
        FBactivated = true;
      }
    });

  function getFriends() {
    var fbUserIDs = []
    FB.api('/me/friends', function(response) {
        if(response.data) {
          $.each(response.data,function(index,friend) {
              var id = friend.id;
              fbUserIDs.push(id);
          });
          var dataString = "fbUserIDs="+fbUserIDs.join();
          $.ajax({
            type: "POST",
            data: dataString,
            async: false,
            url: "http://m.openvino.com/Scripts/faveMatch.php"
          }).done(function(data){
          console.log(data);
          window.localStorage.setItem("fbFriends", data);
          console.log("Saved");
          });
        } else {
            alert("Error!");
        }
    });
  }

    function testAPI() {
    FB.api('/me', function(response) {
      //console.log(response, response.email);
      var dataString2 = "id=" + response.id;
      dataString2 += "&first_name=" + response.first_name;
      dataString2 += "&last_name=" + response.last_name;
      dataString2 += "&email=" + response.email; 
      console.log(dataString2);
      $.ajax({
        type: "POST",
        url: "http://m.openvino.com/Scripts/fbconnect.php",
        data: dataString2
      }).done(function(data){
        var dataJSON = $.parseJSON(data);
        if (dataJSON[0].STATUS == "FAILURE") {
          //console.log(dataJSON[0].MESSAGE);
          return false;
        } else if (dataJSON[0].STATUS == "SUCCESS") {
          window.localStorage.setItem('email',dataJSON[0].COOKIE.email);
          window.localStorage.setItem('password',dataJSON[0].COOKIE.password);
          window.localStorage.setItem('name_first',dataJSON[0].COOKIE.name_first);
          window.localStorage.setItem('name_last',dataJSON[0].COOKIE.name_last);
          window.localStorage.setItem('uID',dataJSON[0].COOKIE.uID);
          window.localStorage.setItem('phone',dataJSON[0].COOKIE.phone);
          window.localStorage.setItem('firstTime',dataJSON[0].COOKIE.firstTime);
        }
      });
    });
  }

  function fbLogout() {
    if (FBactivated) { 
      try {
        FB.logout(function(response) {
          window.location.href = "index.html";
        });
      } catch (err) {
        window.location.href = "index.html";
      }
    } else {
      window.location.href = "index.html";
    }
  }

  $(document).ready(function() {   
    alert("document.ready loaded");

    $("#logmeout").click(function(e){
        e.preventDefault();
        window.localStorage.clear();

        fbLogout();
        return false;
    });

    $('.back_btn').click(function(e) {
      $('.profile_menu').hide();
      history.back();
    });

    $(document).click(function(e) {
      $('.profile_menu').hide();
    })

    $('.profile_btn').click(function(e) {
      $('.profile_menu').slideToggle();
      e.stopPropagation();
      e.preventDefault();
      return false;
    });

    $('.profile_menu a').each(function() {
      $(this).click(function(e) {
        $('.profile_menu').hide();
      });
    });
  });
警报(“p2添加”)
文件。添加的监听器(“deviceready”,OnDeviceraddy,false);
//PhoneGap已加载,现在可以安全地调用PhoneGap方法
//
函数ondevicerady(){
警报(“main.html:设备已就绪”);
}
$(窗口)。加载(函数(){
警报(“window.load事件”);
})
var _gaq=_gaq | |[];
_gaq.push([''设置帐户','UA-42023187-1']);
_gaq.push([''u trackPageview']);
(功能(){
var ga=document.createElement('script');ga.type='text/javascript';ga.async=true;
ga.src=('https:'==document.location.protocol?'https://ssl' : 'http://www“)+”.google analytics.com/ga.js';
var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(ga,s);
})();
(函数(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]| |函数(){
(i[r].q=i[r].q | |[]).push(参数)},i[r].l=1*新日期();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(窗口,文档,“脚本”,“www.google-analytics.com/analytics.js”,“ga”);
ga(“创建”、“UA-42023187-1”、“openvino.com”);
ga(‘发送’、‘页面浏览’);
var objectToLike=window.location;
fbvar=false;
FB.init({
appId:'659381964079214',//应用ID
channelURL:“”,//通道文件,不是必需的,因此保留为空
状态:true,//检查登录状态
cookie:true,//启用cookie以允许服务器访问会话
真的,
xfbml:true//解析xfbml
});
FB.Event.subscribe('auth.authResponseChange',函数(响应){
//在这里,我们指定在发生此事件时如何处理响应。
如果(response.status===“已连接”){
交朋友();
testAPI();
fB=真;
}
});
函数getFriends(){
var fbUserIDs=[]
FB.api('/me/friends',函数(响应){
if(response.data){
$.each(响应、数据、函数(索引、朋友){
var id=friend.id;
fbuserid.push(id);
});
var dataString=“fbUserIDs=“+fbUserIDs.join();
$.ajax({
类型:“POST”,
数据:dataString,
async:false,
url:“http://m.openvino.com/Scripts/faveMatch.php"
}).完成(功能(数据){
控制台日志(数据);
window.localStorage.setItem(“fbFriends”,数据);
控制台日志(“已保存”);
});
}否则{
警报(“错误!”);
}
});
}
函数testAPI(){
FB.api('/me',函数(响应){
//console.log(响应、响应、电子邮件);
var dataString2=“id=”+response.id;
dataString2+=“&first_name=“+response.first_name;
dataString2+=“&last_name=“+response.last_name;
dataString2+=“&email=“+response.email;
console.log(dataString2);
$.ajax({
类型:“POST”,
url:“http://m.openvino.com/Scripts/fbconnect.php",
数据:dataString2
}).完成(功能(数据){
var dataJSON=$.parseJSON(数据);
如果(dataJSON[0]。状态==“失败”){
//console.log(dataJSON[0].MESSAGE);
返回false;
}else if(dataJSON[0]。状态==“成功”){
window.localStorage.setItem('email',dataJSON[0].COOKIE.email);
window.localStorage.setItem('password',dataJSON[0].COOKIE.password);
window.localStorage.setItem('name\u first',dataJSON[0].COOKIE.name\u first);
window.localStorage.setItem('name\u last',dataJSON[0].COOKIE.name\u last);
window.localStorage.setItem('uID',dataJSON[0].COOKIE.uID);
window.localStorage.setItem('phone',dataJSON[0].COOKIE.phone);
window.localStorage.setItem('firstTime',dataJSON[0].COOKIE.firstTime);
}
});
});
}
函数fbLogout(){
如果(激活){
试一试{
FB.注销(功能(响应){
window.location.href=“index.html”;
});
}捕捉(错误){
window.location.href=“index.html”;
}
}否则{
window.location.href=“index.html”;
}
}
$(文档).ready(函数(){
警报(“document.ready loaded”);
$(“#logmeout”)。单击(函数(e){
e、 预防默认值();
window.localStorage.clear();
fbLogout();
返回false;
});
$('.back_btn')。单击(函数(e){
$('.profile_menu').hide();
历史。返回();
});
$(文档)。单击(函数(e){
$('.profile_menu').hide();
})
$('.profile_btn')。单击(函数(e){
$('.profile_menu')。滑动切换();
e、 停止传播();
e、 预防默认值();
返回false;
});
$('.profile_menu a')。每个(函数(){
$(此)。单击(函数(e){
$('.profile_menu').hide();
});
});
});
HTML:



我用一个简单但令人沮丧的解决方案修复了它:你必须把你的多页应用程序变成一页应用程序。不幸的是,phonegap宣传您可以使用HTML、CSS和JS并以本机方式构建它。第二个页面上加载的所有.js都无法工作,直到我将登录改为部分登录,并在路由上胡闹

<body ng-app="OpenVino">
<div id="fb-root"></div>
<div class="header-wrap">
  <header>
    <div ng-show="(page != 'list')" class="back_btn"></div> 
    <a href="#" onclick="launchBrowser(http://facebook.com)"><img src="imgs/logo_only.png" alt="OpenVino" /></a>
    <div class="profile_btn"></div>
  </header>
</div>
<div class="profile_menu">
  <a href="#/users/">My Favorites</a> 
  <a href="#/aboutus/">Contact OpenVino</a>
  <a href="#/lifestyle/">Images</a>
  <a href="#" id="logmeout">Logout</a>
</div>
<div class="content {{page}}" ng-view></div>