Tag: cordova

Phonegap中的HTTP请求

我对Phonegap有一个奇怪的问题。 我的XMLHttpRequests两次开火; 我正在开发的应用程序中使用XMLHttpRequests来创建要选择的动态事件列表。 jQuery也是我正在使用的库之一。 任何时候我使用XMLHttpRequest,无论是vanilla还是jQuery,它都会执行两次,即使它只运行一次。 还有其他人遇到过这个问题吗? 这里有一些示例代码: (function(){ var request = new XMLHttpRequest(); request.open(“GET”, “http://{site-url-hidden-for-privacy}/events/list”, true); request.onreadystatechange = function(){ if(request.readyState == 4){ if(request.status == 200 || request.status == 0){ parse_events(JSON.parse( request.responseText )); } } } request.send(); })(); XMLHttpResponse文本是一个JSON数组,parse_events只是接受该数组并使用它为菜单创建一组选择选项。 有没有人知道为什么会发生这种情况两次,主要是为每个事件创建两个选项,何时应该只有一个?

PhoneGap 1.5.0 Android Cordova AJAX JSON

我一直试图通过运行最新1.5.0 PhoneGap的Android PhoneGap应用程序发送一天的AJAX请求。 我已经尝试了来自stand jQuery包(不是jQuery Mobile)的GET,POST,AJAX,getJSON请求。 所有这些都在标准浏览器中运行,但App中没有任何工作。 这是我最新的jQuery AJAX代码 $.get( ‘http://www.fakedomainname.com/ajax/user_login.php’, $(‘#emailLoginForm’).serialize(), function(json) { //console.log(json); alert(json.status); }, ‘json’ ); 这是我的PHP代码 header(‘Access-Control-Allow-Origin: ‘.$_SERVER[‘HTTP_ORIGIN’]); header(‘Cache-Control: no-cache, must-revalidate’); header(‘Expires: Mon, 26 Jul 1997 05:00:00 GMT’); header(‘Content-type: application/json’); $output[‘status’] = 99; //new user echo json_encode($output); 我在我的AndroidManifest.xml中添加了clearCache public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.clearCache(); super.loadUrl(“file:///android_asset/www/index.html”); } 我已将此添加到/res/xml/cordova.xml 我还缺少什么? 我无法获得GET jQuery请求以成功提醒任何内容? […]

Phonegap / jQuery移动页面转换闪烁

我是Phonegap / jQuery mobile的新手,我在页面转换问题时遇到了白屏。 我试图应用我在网上找到的许多解决方案(例如-webkit-backface-visibility:hidden; )但仍然没有解决问题。 我还将defaultPageTransition设置为none (在jQuery mobile .js文件中),但仍然没有。 我不能关闭硬件加速,因为我的iDangerous swiper菜单需要它。 我的所有链接都是这样的: Some String 当我点击链接时调用someFunction()。 方法someFuction看起来像这样: function someFunction(){ //setting some value that I need in next page window.sessionStorage.setItem(“someValue”,someValue); window.location=”next-page.html”; } 除了页面转换期间的白色闪光外,一切正常。 它仅在某些设备上显示(例如Android 4+)。 有什么方法可以解决这个问题吗? 或者也许我做错了什么? 提前致谢!

在jquery mobile中没有得到正确的结果

嗨我有3个html文件 的index.html index 现在单击按钮我调用https://stackoverflow.com/questions/11307727/not-getting-proper-result-on-back-press-in-jquery-mobile/TestMenu.html,如下所示: TestMenu 点击按钮我打电话给https://stackoverflow.com/questions/11307727/not-getting-proper-result-on-back-press-in-jquery-mobile/PortfolioTest.html,如下所示: PortfolioTest 现在当我回来按下然后前一个屏幕意味着当我再次按下https://stackoverflow.com/questions/11307727/not-getting-proper-result-on-back-press-in-jquery-mobile/TestMenu.html中的按钮时显示https://stackoverflow.com/questions/11307727/not-getting-proper-result-on-back-press-in-jquery-mobile/TestMenu.html它再次来到https://stackoverflow.com/questions/11307727/not-getting-proper-result-on-back-press-in-jquery-mobile/PortfolioTest.html uptil现在一切都很好但是现在如果我按回来而不是去https://stackoverflow.com/questions/11307727/not-getting-proper-result-on-back-press-in-jquery-mobile/TestMenu.html它直接转到index.html页面。 这就是当我使用Android 2.2版本时,如果我使用2.1版本,那么一切都很好。 这是什么解决方案? 任何帮助将不胜感激。 提前致谢。

jquery mobile $ .mobile.changePage()Windows phone 8无法工作Cordova / PhoneGap

代码Index.html First Page Pass parameters with changePage function Or through a basic link 和我的js文件 $(document).on(‘tap’, “#changePage”,function () { $.mobile.changePage(‘https://stackoverflow.com/questions/19009529/jquery-mobile-mobile-changepage-windows-phone-8-not-working-cordova-phonegap/second.html’, { reloadPage : false, changeHash : true }); }); 和https://stackoverflow.com/questions/19009529/jquery-mobile-mobile-changepage-windows-phone-8-not-working-cordova-phonegap/second.html Second Page click me change Page 所有这些文件都使用PhoneGap / Cordova打包并在设备上运行。 基本上我试图通过绑定到我的JS文件中的ID #changePage,在tap事件上使用$ .mobile.changePage(“https://stackoverflow.com/questions/19009529/jquery-mobile-mobile-changepage-windows-phone-8-not-working-cordova-phonegap/second.html”)将https://stackoverflow.com/questions/19009529/jquery-mobile-mobile-changepage-windows-phone-8-not-working-cordova-phonegap/second.html加载到index.html页面。 这完全正常 Android手机 Internet Explorer 9和10 Webkit浏览器 但问题是上面的代码不适用于Windows Phone 8 我正在测试的设备是使用的诺基亚Lumia 920 Jquery框架 jquery.mobile-1.3.2.js jQuery的2.0.3.js […]

使用返回的JSON填充数据库表

我想将一些来自Drupal网站的JSON内容存储到PhoneGap应用程序中的数据库表中。 我正在使用ajax来做到这一点。 当我运行以下代码并检查表时,我被告知它是空的。 有人知道如何填充这张桌子吗? $(‘#newDiv’).live(‘pageshow’,function(){ function queryDB(tx) { tx.executeSql(“SELECT * FROM ‘tableA'”, [], querySuccess, errorCB); } function querySuccess(tx, results) { var len = results.rows.length; alert(“Table: ” + len + ” rows were found.”); } } function createTable(tx) { tx.executeSql(‘DROP TABLE IF EXISTS “tableA”‘); var sql = “CREATE TABLE IF NOT EXISTS ‘tableA’ (id INTEGER PRIMARY […]

如何从PhoneGap / webapp将文件ftp到服务器?

是否可以从PhoneGap应用程序中连接到服务器和FTP文件? 基本上我想 – 有没有办法以某种方式用Ajax / JQuery打开FTP连接?

用于jquery移动和phonegap的大型数据库

我正在使用jquery mobile和phonegap为android和ios构建一个移动应用程序。 这只是一个名称及其地址的集合,总计超过7000行。 据我所知,phonegap不支持数据迁移,所以这意味着如果我必须使用sqllite,我必须在首次启动时将大量数据注入到手机的sql中。 我认为这是一个问题,因为它需要一段时间,可能会强制关闭应用程序,或者可能会推迟用户。 有没有其他方法可以实现这一点而不会导致大量注射? 是否可以将这些数据放在一个文本文件中? 但我不确定jqm是否具有使用此方法搜索和更新的能力。 我很遗憾。 我搜索谷歌这个但没有找到解决方案。 请帮忙。 非常感谢。

无法在iPhone App上使用PhoneGap和jQuery获取JSON结果

目前我使用此代码: $(document).ready(function() { var url = “http://openexchangerates.org/latest.json”; $.getJSON(url + “?callback=?”, null,function(data) { var currencies = [ “USD”, “EUR”, “JPY”, “GBP”, “CHF”, “AUD”, “CAD”, “EUR”, “SEK”, “HKD”, “NOK”, “NZD”, “MXN”, “SGD”, “KRW”, “RON”, “BGN”, “RUB”, “PLN”, “DKK” ]; var myElementToAppendTo = $(“#content”); $.each(data.rates, function(key, value) { value2 = 1 / value; valueForEuro = value; value = […]

Cordova(PhoneGap)重新初始化jQuery Mobile应用程序的每一页

我一直在使用Cordova和jQuery Mobile编写一个简单的四屏Android应用程序。 不同的屏幕在HTML的单页内排列为具有data-role =“page”属性的DIV。 我基本上从jQuery Mobile文档中复制了多页样本模板。 http://jquerymobile.com/test/docs/pages/page-anatomy.html 页面之间的导航通过粘贴在每页底部的持久导航栏进行。 同样,我使用了jQuery Mobile文档中建议的代码,几乎没有修改。 Home History Settings About 各种Javascript库包含在HTML页面的head部分中,如下所示(application.js包含应用程序的逻辑)。 Redacted 当Cordova完成加载并准备使用时,它会发出“deviceready”信号。 Cordova文档建议将所有设置代码绑定到与该信号关联的事件监听器。 我在application.js中这样做了: function onDeviceReady() { console.debug(“Cordova initialized.”); setup(); } document.addEventListener(“deviceready”, onDeviceReady); setup()是一个从浏览器Web SQL数据库和存储(使用此处定义的Cordova API)读取信息的function,以便在应用程序启动之间维护用户首选项和使用信息。 现在出现问题:我的印象是jQuery Mobile将使用jQuery ajax方法在第一页之后加载任何后续页面,并且这样做会剥离head部分并直接跳转到带有数据的DIV -role =“page”属性和相应的ID。 我所观察的是,每当我访问应用程序的新页面时,头部分中的脚本似乎都会重新加载。 这是在第一次在会话中访问页面然后停止发生时发生的。 似乎Cordova正在重新初始化,并且它再次发出设备准备信号。 在Eclipse中使用LogCat,我可以看到我在onDeviceReady函数中放置的调试消息。 setup()函数也被再次调用。 这会大大减慢速度。 有谁知道我哪里出错了? 有没有办法确保Cordova只加载一次? 谢谢,埃文