我如何请求增加 iPad 上的 HTML5 本地存储大小,就像 FT 网络应用程序那样?

2024-07-04

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

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

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

我碰巧知道一些这件事;)

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

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

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

...请求 50MB 空间。

然而,当用户第一次访问该网站时,您可能不想立即提示他们 50MB 的限制;所以你可能会认为你可以先要求5MB,然后再用50MB重新打开它?不幸的是,这不起作用 - 第二次打开尝试(数量增加)会默默地成功,不会提示增加大小,也不会实际增加可用大小。

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我如何请求增加 iPad 上的 HTML5 本地存储大小,就像 FT 网络应用程序那样? 的相关文章

  • 是否可以从 JavaScript 注入的内联样式中减去一个数字?

    我在 HTML 中添加了内联样式 例如style left 10px 我可以添加 减去该数字吗 我想创建一个可以删除的规则8px从该数字开始 无论该数字是多少 我尝试使用丑陋的 importanthack 来覆盖它 但是当初始值改变时这没有
  • 在 firefox-extension 的新选项卡中打开链接

    我开发了一个网络应用程序来将其用作 Firefox 扩展 在 Firefox 中 我将它包含在 iframe 中 如下所示 现在我想在我的应用程序中有一些传出链接 如果我只使用普通的链接标记 例如 a href http mywebapp
  • 预加载队列中的 mp3 文件,以避免播放队列中下一个文件时出现任何延迟

    我正在编写一个脚本 其中我正在播放多个 mp3 并且每个文件都在队列中 播放下一个 mp3 文件会出现轻微延迟 因为缓冲 加载文件需要时间 我如何缓冲队列中的下一个 mp3 文件 以便所有文件顺利运行而没有任何延迟 getData 1 fu
  • 如何在新窗口中获取dom元素?

    JavaScript 中的一个简单任务是打开一个新窗口并在其中写入 但我需要在一个dom元素中写入一个带有ID的div var novoForm window open somform html wFormx width 800 heigh
  • BeautifulSoup 3.1 解析器太容易崩溃

    我在使用 BeautifulSoup 解析一些不可靠的 HTML 时遇到了麻烦 事实证明 新版本中使用的 HTMLParser 的容忍度低于以前使用的 SGMLParser BeautifulSoup 有某种调试模式吗 我正在尝试找出如何阻
  • 使用 SVG 的部分边框/描边

    我正在使用 svg d3 创建由 矩形 元素组成的图表 为每个矩形添加部分边框 描边 仅在矩形顶部 的最佳方法是什么 Thanks 我不认为 SVG 支持仅描边矩形或路径的一部分 描边不像 CSS 边框 您还有其他一些选择 所有这些都需要一
  • 如何安装并开始使用 Vuetify 和 Vue.js 3

    我在哪里可以找到新的 Vuetify 版本与 Vue js 3 兼容的文档以及如何使用 Vue cli 安装和设置它 在 vue 2 中我们这样做 vue create project name then vue add vuetify 我
  • angularjs表单重置错误

    我正在尝试使用 angularjs 制作一个带有验证的表单 到目前为止我做得很好 但是 当我提交重置按钮时 除了从验证部分收到的错误消息之外 所有字段都会重置 当我重置表单时 如何删除所有字段和错误消息 这就是我按下重置按钮时的情况 这是我
  • Swift 3 NSCache 通用参数“KeyType”无法推断

    此代码适用于 Swift 2 x An internal in memory cache private var dataCache NSCache init In Swift 3它会导致编译错误 Generic parameter Key
  • 为什么 UIPickerView 是半透明的

    Why UIPickerView 100不是不透明的吗 当我将文本颜色设置为白色并将 UIPickerView 放在红色背景上时 UIPickerView 项目有一个红白色文字颜色 我尝试使用自定义视图viewForRow 但还是没有效果
  • 为什么需要@babel-core

    我是 Babel 和 JS 的新手 我想知道何时以及为何使用 babel core 包而不是 babel cli From 巴贝尔官方文档 https babeljs io docs en Babel是一个工具链 主要用于转换ECMAScr
  • Webpack - devtool:CSS 的源映射和 JS 的 eval-source-map?

    如果我使用 devtool source map 它与 CSS 配合得很好 但是 我的 JavaScript 变量名并不有趣 所以 如果我使用 devtool eval source maps 生活很美好 调试 JS 但我的 CSS 然后指
  • 如何在 iOS 7 中将 CSV 文件关联到我的应用程序

    今天是个好日子 我逐行遵循这两个教程 尝试将我的应用程序关联到 csv 文件 电子邮件应用程序附件 但是在我将这些更改添加到我的应用程序的 plist 文件中之后 然后构建我的应用程序并在我的设备 iPhone 4 iOS 7 0 4 没有
  • 在 Xamarin.Forms 中添加方向更改布局

    我需要实现的是 在将屏幕从纵向更改为横向时向现有页面添加布局 我已经成功地使用检测方向变化void OnSizeAllocation 双倍宽度 双倍高度 但我无法为此事件添加布局 我的示例 C 代码是 public class MyLayo
  • 如何检测安装的Chrome版本?

    我正在开发一个 Chrome 扩展程序 我想知道是否有一种方法可以检测用户正在使用哪个版本的 Chrome 获取 Chrome 的主要版本作为整数 function getChromeVersion var raw navigator us
  • 垂直对齐到另一个 div 的动态高度?

    我正在尝试将一个 div 与高度动态的相邻 div 垂直对齐 我遇到的大多数方法都要求我知道父 div 的高度 但如果你看我的例子 就会发现是 右 div 驱动了整个部分的高度 我试图让 div 左 中的文本垂直居中显示在右侧的 div 上
  • sails-mongo 适配器,标准化错误消息

    我正在使用 sails mongo 适配器尝试 sailsJs 和 mongodb 将验证添加到模型后 当验证失败时 我会收到以下响应 Users js 模型 module exports schema true attributes na
  • 删除 iOS 中的后台位置警报?

    我正在编写一个跟踪用户位置的导航应用程序 为了继续显示有关路线的通知 当手机锁定 接听电话等时 我还需要在应用程序处于后台时继续跟踪位置 Capabilities gt Background Modes gt Location update
  • WEBP图像回退

    我在互联网上搜索了很多 找不到可以完整教授的正确示例或完整教程 所以请大家给我推荐一些好的例子 我已经在很多网站上尝试过 WEBP 代码 例如与现代化工具一起使用 检查浏览器支持或使用背景图像 有一篇关于 Stucox 的文章 您可以在其中
  • 带图像背景的页面的 V 形部分

    I m trying to make a one page website But I would like something to diversify it from all other similar sites I came up

随机推荐