【问题标题】:Accessing IndexedDB from outside the browser从浏览器外部访问 IndexedDB
【发布时间】:2014-06-19 10:24:28
【问题描述】:

是否可以从浏览器外部或创建它的域外部访问 IndexedDB?

我正在考虑将数据存储到与某个特定域相关的某个 IndexedDB 的情况,因为总是如此,然后在第一个域不复存在后获得对该数据的访问权限,或者将其迁移到另一个域或不再可靠。

【问题讨论】:

    标签: indexeddb


    【解决方案1】:

    不,出于安全原因,这是不可能的。只有创建 IndexedDB 实例的网站才能读取或修改数据。 MDN article 为了实现这样的目的,您需要将数据从客户端上传到服务器,存储该数据,然后将该数据从新域发送回客户端计算机。

    你想要达到的目标听起来有点可疑。没有简单、可靠的方法来做您想做的事,因为可能没有很多合法的用例。

    【讨论】:

    • 这个用例类似于一个网站,作为在 IndexedDB 中操作数据的平台(它自己的 IndexedDB,安全的常规方式)。因此,用户将访问该网站,使用该网站的 Javascript/HTML 界面处理他自己的数据,然后进入睡眠状态。前几天,用户会一次又一次地做同样的事情。数据会保存在他自己的电脑里,一切都会好起来的。但是,有一天,该网站将关闭。他的所有数据都永远丢失了吗?
    • 为什么不使用没有本地数据库限制的服务器端数据库?
    • 从用户的角度来看,那台服务器总有一天会随着他的网页等数据消失,所以没有任何优势。
    • 如果您将数据放在服务器上,那么是的,服务器可能有一天会“消失”。如果您将数据放在用户的计算机上,其他事情可能会发生:用户可能无意中删除了他们的 indexeddb 数据,他们的硬盘可能会崩溃,他们可能会丢失他们的设备,他们的浏览器安装可能会损坏并且必须重新安装可能会删除他们的数据,他们可能需要从不同的(或公共的)计算机等访问他们的数据。将用户的数据托管在服务器上是非常有利的。
    • 好吧,我知道我可以将数据放在服务器上,我只是希望客户端保留一些数据,以便他们负责。这对你来说太疯狂了吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-21
    • 1970-01-01
    • 2014-09-02
    • 2019-01-25
    • 2020-11-01
    • 1970-01-01
    相关资源
    最近更新 更多