我正在 iOS 模拟器上测试这个应用
每当我运行这段代码时:
google.load("visualization", "1", {packages:["corechart"]});
我的 phonegap 应用程序崩溃并出现全白屏幕。我有一个页面,其中有一些随机内容和一个按钮,该按钮被分配了一个 .click()
jQuery
监听器以开始加载 google chart 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
- Cordova v1.9.0
- jQuery 移动版 v1.1.1
- jQuery v1.7.1
- > https://www.google.com/jsapi
- Mac OS X v10.6.8
- iOS 模拟器 v5.0 (272)
最佳答案
首先,您需要在“就绪”事件处理程序之外加载 API,因为加载程序在其他函数中似乎无法正常工作。
其次,将点击事件处理程序放在 google.load 回调中,这将防止在 API 加载之前分配点击事件(因此用户不能尝试在 API 加载之前绘制图表,尽管它通常加载得足够快,以至于您的用户永远不会注意到差异)
关于javascript - PhoneGap (Cordova) 应用程序在加载谷歌图表 API 时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11617219/