Phonegap (Android) - 数据库更改版本不起作用
Phonegap (Android) - database changeVersion not functioning
如果我拿一个数据库对象 (db) 并使用命令打开它
var db = window.openDatabase("phr", "", "Cognovant PHR", 25000000);
// This should open whatever database is created, otherwise spawn one with a blank
// version number ("")
然后做:
db.changeVersion(db.version, "2"); // Update database to version 2
console.log(db.version); //Should return "2", instead returns previous version of database
这段代码在iOS上完美运行(几乎比我希望的要好),但始终无法更改Android上的数据库版本。
如果有更好的方法可以做到这一点,或者需要在Android上完成一些替代方法,我将非常感谢这些信息。
这实际上很容易解决。
只需将 db.changeVersion 的 2 参数版本更改为 3 参数版本即可。例:
db.changeVersion(db.version, "2", function () {console.log("foobar")});
它会起作用。
此问题也发生在Android 2.2中。
09-28 07:15:14.954: 电子/网络控制台(280): TYPE_MISMATCH_ERR:DOM 异常 17:对象的类型与与对象关联的参数的预期类型不兼容。 在 file:///android_asset/www/devbar/03%20db.js:158
我看到的唯一解决方案是使用我自己的版本管理进行解决方法。
请通过下面的链接,描述实现数据库版本控制的方法。
http://developer.apple.com/library/safari/#documentation/iphone/conceptual/safarijsdatabaseguide/UsingtheJavascriptDatabase/UsingtheJavascriptDatabase.html
我能够在所有 2.3.x 设备上成功操作,但 4.x.x Android 设备遇到"无法调用方法更改版本"和说方法未定义等问题。
目前,我正在使用以下代码,
if (db.changeVersion) {
db.changeVersion(oldVer, curVer, upgradeTableStructure, errorHandler, successDataHandler);
} else {
createTableStructure(db);//If Not exist for first time for 4.x.y devices
console.log('version changes not possible in this browser version.');
}
但这不是当前问题的正确解决方案,请提出一些解决方案。
- 一页签出在Magento版本1.7.0.2中不起作用
- pixijs 鼠标关闭事件不起作用(任何版本)
- 为什么我的谷歌浏览器扩展程序在谷歌浏览器版本 41.0.2272.89 中不起作用
- Phonegap (Android) - 数据库更改版本不起作用
- jquery.min.js版本冲突在asp.net网站中不起作用
- Kineticjs:drag.moving 事件在最新版本上不起作用.如何升级代码
- Jssor 全长滑块在 opera 9.64 版本中不起作用
- Chrome 消息:chrome.runtime.sendMessage 在最新版本 49 上不起作用
- jQuery 引导选项卡在自定义模式中不起作用(不是引导模式,而是我自己的版本)
- Javascript 函数在 IE(仅限)版本 9 - 10 上不起作用
- 画布元素在 IE 8 及更低版本中不起作用
- html下拉菜单在Firefox中不起作用,并且在旧版本的IE中一切都是错误的
- 砌体在移动浏览器(chrome)上不起作用,并且仅在Chrome桌面版本上有效,如果我重新加载(ctrl + f5)页面
- Meteor 1.2.1 版本 服务器代码中的 Meteor.method({}) 不起作用
- Jquery 切换/单击在早于 9 的 Safari 版本中不起作用
- 尽管使用了最新的 angularJS 版本,但 ng-repeat-start 不起作用的任何原因
- jquery Animate 在 IE9 及更早版本中不起作用
- 上传 - HTML5 版本 文件扩展名不起作用
- 动态版本中的类不起作用
- nvm node.js使用的版本不起作用