Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PhoneGap(Cordova)应用程序在加载google图表API时崩溃_Javascript_Jquery Mobile_Cordova_Google Visualization - Fatal编程技术网

Javascript PhoneGap(Cordova)应用程序在加载google图表API时崩溃

Javascript PhoneGap(Cordova)应用程序在加载google图表API时崩溃,javascript,jquery-mobile,cordova,google-visualization,Javascript,Jquery Mobile,Cordova,Google Visualization,我正在iOS模拟器上测试此应用程序 每当我运行此代码时: google.load("visualization", "1", {packages:["corechart"]}); 我的phonegap应用程序崩溃到一个完全白色的屏幕上。我有一个页面,其中有一些随机内容和一个按钮,分配了一个。单击()jQuery侦听器开始加载google图表api。每当我点击那个按钮,所有的东西都消失了,我留下了一个空白的屏幕 代码如下: $( '#chartsThirdStep' ).live( 'pagei

我正在iOS模拟器上测试此应用程序

每当我运行此代码时:

google.load("visualization", "1", {packages:["corechart"]});
我的phonegap应用程序崩溃到一个完全白色的屏幕上。我有一个页面,其中有一些随机内容和一个按钮,分配了一个
。单击()
jQuery
侦听器开始加载google图表api。每当我点击那个按钮,所有的东西都消失了,我留下了一个空白的屏幕

代码如下:

$( '#chartsThirdStep' ).live( 'pageinit',function(event){

    $("#chartThirdStepGoButton").click(function(event){

        parseChartInfo();
    });
});

function parseChartInfo() {

    console.log("parseChartInfo()");
    google.load("visualization", "1", {packages:["corechart"]});
    // app completely crashes here - all jquery mobile stuff dissapears
    // and i'm left with a blank screen on the simulator.
    //google.setOnLoadCallback(drawChart);
}
我正在使用:

  • Xcode v4.2
  • 科尔多瓦v1.9.0
  • jquerymobilev1.1.1
  • jqueryv1.7.1
  • Mac OS X v10.6.8
  • iOS模拟器v5.0(272)

首先,您需要在“就绪”事件处理程序外部加载API,因为加载程序在其他函数内部似乎无法正常工作。

其次,将click事件处理程序放在google.load回调中,这将防止在加载API之前分配click事件(因此用户不能在加载API之前尝试绘制图表,尽管加载速度通常足够快,用户永远不会注意到差异)

首先,您需要在“就绪”事件处理程序外部加载API,因为加载程序在其他函数内部似乎无法正常工作。

其次,将click事件处理程序放在google.load回调中,这将防止在加载API之前分配click事件(因此用户无法尝试在加载API之前绘制图表,尽管加载速度通常足够快,用户永远不会注意到差异)

我也遇到了白屏问题,我不得不作弊。对于我的PhoneGap+JQM应用程序,我实际上在初始化中执行了google.load,并让setOnLoadCallback设置了一个标志,表明它已准备就绪。然后我有一个setInterval()监视器来监视设置的标志。我可以从这个解决方案开始。忘记给学分了,现在就这么做-谢谢+1.必须将
google.load()
代码段移到头部。我的网络应用程序在桌面浏览器中崩溃了。我也遇到了白屏问题,我不得不作弊。对于我的PhoneGap+JQM应用程序,我实际上在初始化中执行了google.load,并让setOnLoadCallback设置了一个标志,表明它已准备就绪。然后我有一个setInterval()监视器来监视设置的标志。我可以从这个解决方案开始。忘记给学分了,现在就这么做-谢谢+1.必须将
google.load()
代码段移到头部。在桌面浏览器中崩溃了我的Web应用程序。