javascript – 调用openDatabase的Mobile Safari中的状态错误,DOM异常11无效
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 调用openDatabase的Mobile Safari中的状态错误,DOM异常11无效,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1617字,纯文字阅读大概需要3分钟。
内容图文
我有一个在init上调用openDatabase()的webapp.这在桌面浏览器Chrome和Safari中运行良好;但是,当我尝试在iOS 4.3.3上的Mobile Safari中打开应用程序时,我在第一页加载时遇到异常:
“错误:INVALID_STATE_ERROR:DOM异常11”
这在一个简单函数中的openDatabase()上失败:
try {
if( !window.openDatabase) {
console.log('SQLite is not supported by this browser');
}
else {
db = openDatabase('MyMobileDb', '1.0', 'MyMobileDb', 65536);
if (doreset)
{
//my drop and reset DB function
} else
{
//my init DB function
}
}
}
catch(e) {
console.log(e);
}
未创建数据库,也无法与应用程序进一步交互.运行早期版本的iOS的其他开发人员没有遇到针对相同代码bade的此问题.我也从我们的QA团队获得Android报告类似行为的报告. Android 3.1有效,而2.2和2.1则无效.
我该怎么做才能解决这个问题?
解决方法:
我有一些在离线移动应用程序中运行的WebSQL代码,可在iOS 4.3.3和桌面Safari中运行.
INVALID_STATE_ERROR:DOM异常11令人沮丧地不透明,因为它可以引用很多不同的东西,但我怀疑你链接的WebKit问题在你的情况下有答案.无论如何,对可能有帮助的事情……
我的代码中的FWIW我通过“有点”工厂初始化数据库连接,这似乎工作正常,持久化我的应用程序(事实上,我使用数据库连接’工厂’加上第二个原型对象封装了我的所有SQL,有点像Javascript DAO,但为了简洁起见,我会把这一点留下来.
我已经创建了一个带有样本“工厂”的要点(这是我的一些生产代码的推断,所以对任何遗漏都道歉):http://gist.github.com/1044759
此代码将初始化您的数据库连接,并创建相关的表(如果它们尚不存在).
这是一些示例脚本(可能是$(document).ready),它将设置数据库连接:
// Initialise local db
var mydb = new DbConnection().getDb();
要使用连接,只需调用正常的事务Javascript,使用mydb作为数据库位,即:
mydb.transaction(function(transaction){
transaction.executeSql(...
希望有所帮助.
内容总结
以上是互联网集市为您收集整理的javascript – 调用openDatabase的Mobile Safari中的状态错误,DOM异常11无效全部内容,希望文章能够帮你解决javascript – 调用openDatabase的Mobile Safari中的状态错误,DOM异常11无效所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。