2011-07-25 73 views
0

夥計們我有這個代碼的和平我使用phonegap與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

它完美workds瀏覽器 但只能在模擬器 –

+1

什麼有趣的DDMS日誌給出了這樣的錯誤? –

回答

0

沒有仿真器將永遠能夠完美地闡述設備的行爲,尤其是如果這兩個都基於不同的架構。如果您在談論iOS仿真,請相信我,仿真器的響應絕不應該是設備響應的指示。 iOS本身編譯三種不同的體系結構:armv6,armv7i386。這就是說,如果它在你的設備上工作,而不是在你的模擬器上工作,不要擔心。畢竟,它是重要的設備。除了你之外,沒有人會在模擬器中使用該應用程序。

編輯:哎呀,剛纔看到那個android標籤。同樣的事情適用!

0

可能是您的某個函數名稱中的拼寫錯誤 - updateDb - 當您的其他變量具有大寫字母時,會有小寫字母「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");  
    }`