加载谷歌图表API时,PhoneGap(Cordova)应用程序崩溃

时间:2012-07-23 17:11:46

标签: javascript jquery-mobile cordova google-visualization

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

每当我运行此代码时:

google.load("visualization", "1", {packages:["corechart"]});

我的手机屏幕应用程序崩溃到一个完全白屏。我有一个页面,我有一些随机内容和一个按钮,分配了.click() jQuery监听器以开始加载谷歌图表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);
}

我正在使用:

1 个答案:

答案 0 :(得分:4)

首先,您需要在“ready”事件处理程序之外加载API,因为加载程序似乎无法在其他函数内正常工作。
其次,将click事件处理程序放在google.load回调中,这将阻止在API加载之前分配click事件(因此用户无法在API加载之前尝试绘制图表,尽管它通常加载足够快,你的用户永远不会注意到差异)