0

我正在使用 ydn-db 构建一个可以在多个 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”的值:对象为空或未定义。

您对这里可能出现的问题有任何线索吗?

我正在使用 ydn-db 的最新版本,因为它在网站http://dev.yathit.com/ydn-db/downloads.html中。

我正在下载以下模块:IndexedDb、WebSql、Webstorage、Userdata、Query

4

1 回答 1

0

XMLDocument,仅在较旧的 IE 中可用(在 IE9 中具有兼容模式?)用于通过 DOM 节点上的 UserData 存储机制来持久化数据。查看有关UserDataXMLDocument的更多详细信息。

IE9 应该改用 WebStorage (localStorage)。也尝试使用 IE6 或 IE7。你会得到更好的画面。

所以某处机制检测被搞砸了。如果你有更详细的信息,我可以帮忙。

于 2014-10-16T00:42:46.770 回答