gpt4 book ai didi

javascript - IndexedDBShim polyfill 版本不匹配

转载 作者:行者123 更新时间:2023-11-30 17:28:37 26 4
gpt4 key购买 nike

我正在使用 polyfill indexedDBShim Here我有一个错误,我不知道如何调试它或知道如何修复它。

我的错误:

无法打开数据库,版本不匹配,“1”与当前版本“1.0”不匹配

它在兼容 indexedDB 的浏览器上工作正常,但是当我在 Safari 上尝试时,我遇到了这个错误..

我刚刚这样做了:

var request = indexedDB.open( 'products', 1 );
request.onupgradeneeded = function( e ) {
console.log('Upgrading...');
var thisDB = e.target.result;

if ( !thisDB.objectStoreNames.contains( "devices" ) ) {
thisDB.createObjectStore( "devices", { keyPath: "title" } );
thisDB.createIndex( "title", "title", { unique: true } );
}
};

request.onsuccess = function( e ) {
console.log('Success!');
that.db = e.target.result;
//that.saveProducts( data );
};

request.onerror = function( e ) {
console.log('Error!');
console.dir( e );
};

有人可以帮我吗?

最佳答案

让我告诉你,这个 shim 以一些糟糕的生意告终! (我们收到了很多关于它的问题。)

首先,版本既不应该是字符串也不应该是 float 。根据规范,它们应该是大于零的整数。所以这无论如何都是不对的。

来 self 的 dash docs对此:

Version numbers are positive whole numbers greater than zero. A programmer can set a database's version manually or implictly by opening an existing database name with a greater version number than the database contains. While a database's name can never change, the database version changes all the time.

Specifying a version greater than the current allows us to entry a "version change" transaction that enables database schema changes. When no version is specified, the database will open with the most recent database version.

Database version numbers are stored as 8-byte "int long long" in the underlying C programming language implementation of IDB and can number anywhere between 1 and 18446744073709551615.

以下是我使用常规 IDB 进行调试/解决的方法:打开没有版本的数据库。这应该使用最新版本打开连接,响应对象将为您提供当前版本。比较两者以找出您的应用程序错误。

值得注意的是,数据库打开请求应该提供一些属性,帮助您在 versionchangeing 时保持干净和一致的应用程序状态:event.newVersionevent。旧版本

关于javascript - IndexedDBShim polyfill 版本不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23679449/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com