我正在使用ydn-db构建一个可以在mutliple borwsers和设备中脱机工作的测试应用程序。
我的第一个选择是使用indexedDB,但后来我意识到并非所有浏览器和设备都支持它。
因此,经过一些研究,我决定转移到ydn-db。
我通过这样做来初始化数据库:
var dbSchema = {
version: DB_VERSION,
//autoSchema: true,
stores: [{
name: DB_STORE_USERS_NAME,
autoIncrement: false, // optional.
indexes: [{
name: 'login', // optional
keyPath: 'login',
unique: true,
multiEntry: false
}]
}, {
name: DB_STORE_REPOS_NAME,
autoIncrement: false, // optional.
indexes: [{
name: 'userid', // optional
keyPath: 'owner.id',
unique: false
}]
}]
};
db = new ydn.db.Storage(DB_NAME, dbSchema);
这在chrome中运行良好,但是当我在ie9中测试时,我收到以下错误:
SCRIPT5007:无法获取属性的值' XMLDocument':对象为null或未定义。
你有什么问题可以解决这个问题吗?
我使用的是最新版本的ydn-db,因为它位于网站http://dev.yathit.com/ydn-db/downloads.html中。
我下载了以下模块: IndexedDb,WebSql,Webstorage,Userdata,Query
答案 0 :(得分:0)
XMLDocument
,仅在较旧的IE中可用(在IE9中具有兼容模式?)用于在DOM节点上使用UserData存储机制保存数据。详情请见UserData和XMLDocument。
IE9应该使用WebStorage(localStorage)。也可以试试IE6或IE7。你会得到更好的画面。
因此某些机制检测被搞砸了。如果您有更多详细信息,我可以提供帮助。