gpt4 book ai didi

javascript - 我如何请求增加 iPad 上的 HTML5 localstorage 大小,就像 FT 网络应用程序一样?

转载 作者:IT王子 更新时间:2023-10-29 03:19:09 26 4
gpt4 key购买 nike

如果你打开http://app.ft.com (《金融时报》移动网络应用程序),系统会提示您将该应用程序添加到您的“主页”。

执行此操作后,当您打开应用程序时,系统会再次提示您允许将 localstoreage 数据库大小增加到 50MB。

  • 如何做到这一点?是否有一些 JavaScript API 调用?权限还是什么?
  • 这个 iPad(iOS?)是特定的,还是可以在其他 Webkit 浏览器上运行?

最佳答案

我碰巧知道一些这方面的事情;)

没有用于请求增加现有数据库存储大小的 API。有一种强制增加的方法:以需要增加的大小将数据写入数据库,提示用户。但是,这会很慢并且没有办法知道当前分配的空间,因此不推荐这样做。

Black Frog 有一部分是正确的:唯一巧妙的方法是在打开时请求一个非常大的数据库,例如:

openDatabase('databaseName', '1.0', 'My Database', 50*1024*1024, …

…请求 50MB 的空间。

但是,当用户第一次访问网站时,您可能不想立即提示他们大约 50MB 的限制;所以你可能会想,你可以先要求 5MB,然后再用 50MB 重新打开它吗?不幸的是,这不起作用 - 第二次打开尝试,增加了数量,默默地成功了,没有提示增加尺寸,也没有真正增加可用尺寸。

因此,FT 应用程序从一个 5MB 的“预览”数据库开始,这样用户就不会在第一次加载时收到提示。它尽量不超过这个 5MB 的限制,因为任何分配的空间都必须在所有数据库之间共享。

如果用户选择允许存储更多内容,该应用会尝试打开一个具有 40MB 空间的不同名称的数据库(提示用户批准 50MB)。这在该数据库中允许 40MB,在原始预览数据库中允许 5MB,因此在插入行时两者都不会失败 - 因为目前 iOS 的总容量限制为 50MB。

目前所有浏览器都以不同方式处理数据库空间限制,因此如果您计划跨平台,请仔细测试。 Desktop Safari 处理得相当好,允许更大; Chrome 根本不允许任何增加;等。期望所有“HTML5”实现以奇怪的方式不同 :)

关于javascript - 我如何请求增加 iPad 上的 HTML5 localstorage 大小,就像 FT 网络应用程序一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6276282/

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