1)设置 Windows 7 Ultimate,PostgreSQL数据库,Apache Web服务器 为了进行测试,数据库,Web服务器和应用程序在同一台计算机上运行。
Mozilla Firefox版本62.0.X
2)我运行以下代码来填充IndexedDB数据存储。
该函数是从XMLHttpRequest对PHP的同步调用中调用的。
每个页面都根据需要从PostgreSQL唯一的表中检索数据。为了进行测试,从PostgreSQL中检索10到150条记录。关闭网络时代后,IndexedDB数据库将被删除,因此每次页面加载都是从头开始的。
function jIDBUpload(vdbdata,vlib)
{
vIDBrequest = window.indexedDB.open('MyIDB');
vIDBrequest.onupgradeneeded = function() {
vIDBdbase = vIDBrequest.result;
vIDBobjstore = vIDBdbase.createObjectStore(vlib, { keyPath: "id"});
vIDBobjstore.createIndex('vInx','id',{unique: true});
vlength =vdbdata.length;
for(l=0;l<=vlength-1;l++)
{
vIDBobjstore.put(vdbdata[l]);
}
};
}
我还尝试将第二行和第三行代码用作(但没有运气)。
vIDBrequest.onupgradeneeded = function(e) {
vIDBdbase = e.target.result;
3)问题
在chrome中,上面的代码成功运行100%的时间。完全没有问题。
在Firefox中,这是一种命中注定的情况,有时可以,有时则不行。此行为是随机的。 重新加载页面也不保证成功。
4)有什么见解,建议和/或解决方案?