pouchdb 无法在 ios Safari 上运行

Posted

技术标签:

【中文标题】pouchdb 无法在 ios Safari 上运行【英文标题】:pouchdb not working on ios safari 【发布时间】:2015-09-07 08:20:28 【问题描述】:

我正在尝试编写一个使用 pouchdb 作为离线数据库(没有 sqlite)的 cordova 应用程序。我的应用适用于所有浏览器和 android 但不适用于 ios。我不知道为什么会这样以及该怎么做!这是我初始化数据库的代码:

app.onDeviceReady = function() 
try 
    console.log("starting db");
    window.offline_db = new PouchDB('offline_db');
    if (window.offline_db.adapter) 
        console.log("db started!");
    
    offline_db.get("op_settings", function(err, doc) 
        if (err) 
            return console.log(err);
        
        console.log(doc);
    );
 catch (e) 
    console.log(e);
;

这不会返回文档,即使当我保存文档时它说它已成功保存,它只给出一个承诺但没有结果。

同样在 safari Mac 上,我可以在调试器中看到 db 内容,但在 safari ios 上,我在资源下没有此选项卡

【问题讨论】:

看起来承诺没有被返回/回调从未被触发但也没有错误! 【参考方案1】:

看来,您已将回调函数放在要传递的选项的位置(可选): PouchDB get

请尝试

offline_db.get("op_settings", null, function(err, doc)

它应该可以工作。

【讨论】:

我从您共享的链接中获取了代码(它不会传递 null)无论如何我只是尝试过它并没有工作。 正如我所提到的,它适用于除 ios 之外的所有平台 那我只能建议调试器了; :)

以上是关于pouchdb 无法在 ios Safari 上运行的主要内容,如果未能解决你的问题,请参考以下文章

视频无法在Safari和iOS上运行

图像无法在 iOS 上的 Safari 上加载

pouchdb 删除 allDocs javascript

带有自定义控件的视频无法在 iOS 上播放(Safari 和 Chrome)

使用 ios 10 Safari 浏览器在 ionic 中无法使用 Focus()

完美解决ios10及以上Safari无法禁止缩放的问题