伙计我有这种代码安静我正在使用带有jqueryMobile的phonegap开发跨平台应用程序。
页面加载时调用初始化函数 警报开始弹出
从不调用函数“populateDB”,不会调用成功或错误方法
!!
function Initialize()
{
alert("start");
db = window.openDatabase("YahooMovies", "1.0", "Yahoo Movies", 200000);
db.transaction(populateDB, DB_Error, updateDb);
}
function populateDB(tx)
{
alert("initSql");
tx.executeSql('DROP TABLE IF EXISTS tblMovies');
tx.executeSql('CREATE TABLE IF NOT EXISTS tblMovies (Id unique, Title, EpisodeNum, PubDate, PoweredBy, VideoURL, ImageUrl, CategoryId, Restriction, keywords, Text, Adult, Actors, Director, Writer, Producer, Visitor, Album, Artist)');
}
答案 0 :(得分:0)
任何模拟器都无法完美地表达设备的动作,尤其是当两者基于不同的体系结构时。如果您正在谈论iOS模拟,请相信我,模拟器的响应永远不应该表明设备的响应。 iOS本身可以编译三种不同的体系结构:armv6
,armv7
和i386
。
话虽如此,如果它在您的设备而不是您的模拟器上工作,请不要担心。毕竟,它是重要的设备。除了你之外,没有人会在模拟器中使用该应用程序。
编辑:哎呀,刚看到那个android标签。同样的事情适用!
答案 1 :(得分:0)
最可能是你的一个功能名称中的拼写错误 - updateDb - 当你的其他Vars有上限时,它有一个小写的“b”。
此代码适用于我:
`function populateDB(tx)
{
alert("initSql");
tx.executeSql('DROP TABLE IF EXISTS tblMovies');
tx.executeSql('CREATE TABLE IF NOT EXISTS tblMovies (Id unique, Title, EpisodeNum, PubDate, PoweredBy, VideoURL, ImageUrl, CategoryId, Restriction, keywords, Text, Adult, Actors, Director, Writer, Producer, Visitor, Album, Artist)');
}
function DB_Error(tx)
{
alert("error");
}
function updateDb(tx)
{
alert("updateDb");
}`