使用phonegap项目加载linked.js 我搜索过网络和堆栈溢出寻找帮助,但似乎找不到任何,我认为自己正式受挫。当我所有的代码都在标准脚本标记中时,它们都可以正常工作,但当我将它们移动到自己的.js文件时,它们就崩溃了。帮助这就是我现在在index.html中的内容,因为我只是在测试,所以我删掉了所有不相关的代码: <html> <head> <title>PhoneGap Test</title> <meta name="viewport" content="width=device-width, user-scalable=no;" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript" charset="utf-8" src="phonegap-1.3.0.js"></script> <script type="text/javascript" charset="utf-8" src="jquery/src/lib/jquery-1.7.js"></script> <script type="text/javascript" charset="utf-8" src="jquery/src/jqtouch-jquery.js"></script> <script type="text/javascript" charset="utf-8" src="jquery/src/jqtouch.js"></script> <script type="text/javascript" src="databasecalls.js"></script> </head> <body onload="init();"> <p>Some stuff here</p> </body> </html>

使用phonegap项目加载linked.js 我搜索过网络和堆栈溢出寻找帮助,但似乎找不到任何,我认为自己正式受挫。当我所有的代码都在标准脚本标记中时,它们都可以正常工作,但当我将它们移动到自己的.js文件时,它们就崩溃了。帮助这就是我现在在index.html中的内容,因为我只是在测试,所以我删掉了所有不相关的代码: <html> <head> <title>PhoneGap Test</title> <meta name="viewport" content="width=device-width, user-scalable=no;" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript" charset="utf-8" src="phonegap-1.3.0.js"></script> <script type="text/javascript" charset="utf-8" src="jquery/src/lib/jquery-1.7.js"></script> <script type="text/javascript" charset="utf-8" src="jquery/src/jqtouch-jquery.js"></script> <script type="text/javascript" charset="utf-8" src="jquery/src/jqtouch.js"></script> <script type="text/javascript" src="databasecalls.js"></script> </head> <body onload="init();"> <p>Some stuff here</p> </body> </html>,javascript,cordova,Javascript,Cordova,因此,除非我弄错了,否则我至少应该保持警惕;读取到index.html后立即运行,对吗?我都不明白!是不是我错过了phonegap API的一些东西。。。就像所有东西都需要在index.html或其他什么东西中一样 提前谢谢! Justin不,您的所有js不必都在index.html中。似乎您没有收到deviceready事件。您的databasecalls.js是否与index.html位于同一位置?还要注意Xcode中的调试控制台消息。是否有任何原因使您将charset=utf-8添加到其他

因此,除非我弄错了,否则我至少应该保持警惕;读取到index.html后立即运行,对吗?我都不明白!是不是我错过了phonegap API的一些东西。。。就像所有东西都需要在index.html或其他什么东西中一样

提前谢谢!
Justin

不,您的所有js不必都在index.html中。似乎您没有收到deviceready事件。您的databasecalls.js是否与index.html位于同一位置?还要注意Xcode中的调试控制台消息。是否有任何原因使您将charset=utf-8添加到其他导入而不是那个导入?是utf-8编码的吗?西蒙-我同意你的看法,DeviceRady没有被触发,我只是不明白为什么。我没有发布的是一些jquery,但我不明白为什么这会阻止DeviceRady消息的传递。如果我将body标记中的函数替换为runs,那么为什么这与我的init函数有什么不同呢?init函数告诉侦听器设备实际上已经准备好了?有趣的是,现在databasecalls.js与index.html位于同一个目录中
alert("file loaded");

function init(){
  document.addEventListener("deviceready", phoneReady, false);
}

function phoneReady(){
  // **** first, open the database ****
  alert("Start making DB object");

  dbShell = window.openDatabase("TimeBlogger", "1.0", "TimeBlogger", 20000000);
  alert("Created DB object");
  //and run another function if the setup is successful (displayEntries)
  dbShell.transaction(setupDBTable, errorHandler, getDBProjectEntries)
}