Phonegap - ReferenceError:调用db.transaction时找不到变量

时间:2012-12-06 12:52:43

标签: jquery cordova jquery-mobile

我正在使用Phonegap& jQuery mobile。该应用程序通过Phonegap storage API使用WebSQL进行本地存储。

我一直在使用Chrome开发和测试,一切正常,但在Safari中测试时出现以下错误:

ReferenceError: Can't find variable: loadBookingItems

这在我的pageinit函数中发生:

  $(document).on('pageinit', '#booking_page',  function(){              
     db.transaction(loadBookingItems);
  });

loadBookingItems 函数位于.js文件中:

function loadBookingItems(tx){
    tx.executeSql("SELECT * FROM booking", [], loadBookingItemsSuccess, loadBookingItemsFail);
}

文件正在加载,就像我说的那样,它正在Chrome中运行。 jQuery肯定会被加载。

db 被定义为全局变量:

var db = window.openDatabase("mydb", "1.0", "mydb", 200000);

关于问题是什么以及为什么它只发生在野生动物园中的任何想法?

1 个答案:

答案 0 :(得分:1)

如评论中所述,pageshowpagebeforeshow是比pageinit更合适的事件,如果您想在每次显示页面时更新已加载的项目 - 显然它正在运行很好。