iOS WKWebView不支持本地存储

2024-05-05

我正在构建一个简单的 WKWebView 应用程序,该应用程序加载用 Construct (HTML5) 编写的游戏。

游戏存储在服务器上,当我在常规浏览器(移动和桌面)中玩游戏时,游戏本身会存储在本地,并且高分也会存储在本地。重新启动游戏后不需要重新下载也可以看到之前的高分。

我不知道 Construct 究竟使用什么来存储本地数据,但是当我在 WKWebView 中运行完全相同的游戏时,游戏不会存储在本地,高分也不会存储在本地。

我的斯威夫特代码是这样的:

import UIKit
import WebKit

class ViewController: UIViewController, WKUIDelegate, {
    var webView: WKWebView!

    override func loadView() {
        let webConfiguration = WKWebViewConfiguration()
        webView = WKWebView(frame: .zero, configuration: webConfiguration)
        webView.uiDelegate = self
        webView.navigationDelegate = self
        view = webView
    }
    override func viewDidLoad() {
        super.viewDidLoad()

        let htmlPath = Bundle.main.path(forResource: "game", ofType:"html")
        let url = URL(fileURLWithPath: htmlPath!)
        let request = URLRequest(url: url)
        webView.load(request)
    }
}

我的 WKWebView 显然缺少一些允许其存储离线数据的功能或设置。


你需要添加这个

webConfiguration.websiteDataStore = WKWebsiteDataStore.default()

Apple 文档没有明确说明,但我认为默认的 WKWebsiteDataStore 是持久的。

阅读此处有关 WKWebsiteDataStore/ 本地存储的信息 https://developer.apple.com/documentation/webkit/wkwebsitedatastore

此外,您还可以检查数据存储是否持久化 https://developer.apple.com/documentation/webkit/wkwebsitedatastore/1532928-ispersistent or not.

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

iOS WKWebView不支持本地存储 的相关文章

  • 收到“线程 1:EXC_BAD_ACCESS”错误?

    我正在使用 WKWebView 和 Swift 语言创建一个简单的 Web 查看器 这是我的代码 import Cocoa import WebKit NSApplicationMain class AppDelegate NSObject
  • 内存警告后 WKWebView 变为空白

    我正在开发一个 iOS 应用程序 它将在 wkWebView 中显示一些 360 度全景内容 该页面确实会加载 但当它收到内存警告时 它会在 iPad 2 上显示空白视图 相关代码 NSURLRequest req NSURLRequest
  • 使用jquery mobile在页面之间传递参数

    jquery mobile 中页面之间传递参数的正确方法是什么 在jquery mobile的Q A中 有一些插件的建议 是强制性的吗 请告诉我正确的方法 没有一个具体的答案 我必须为页面中的所有链接传递参数 http view jquer
  • Chrome 应用程序 localStorage 不持久并且 chrome.storage 不工作

    我有一个 chrome Kiosk 应用程序 我需要在机器打开和关闭之间保存数据 几个字节作为字符串 但无论我尝试什么 本地存储似乎在重新启动时都会被擦除 当我转到 chrome inspect apps 检查 Chrome 应用程序时 控
  • 如何缓存WKWebView加载的资源?

    I use WKWebView显示包括图像在内的富文本 我想将这些图像缓存在磁盘上 如何获取这些 HTTP 请求并缓存响应 默认设置对 WKWebView 中加载的所有资源进行缓存 您所要做的就是在 HTTP 响应中为这些资源设置正确的标头
  • 在 WKWebView 中加载 Microsoft Office 文档

    我已经使用 UIWebView 在我的应用程序中显示 Microsoft Office 文档 Word PowerPoint Excel 一段时间了 但 Apple 最近已弃用 UIWebView 类 我正在尝试切换到 WKWebView
  • 将 css 背景设置为本地存储中的图像

    我希望将 base64 格式的图像存储在密钥中的本地存储中ImgStorage在CSS背景中像这样 data image png base64 iVBORw0KGgoAAAANS 到目前为止 我尝试了两种方法 1 从存储加载并放入css标签
  • iOS WKWebView不支持本地存储

    我正在构建一个简单的 WKWebView 应用程序 该应用程序加载用 Construct HTML5 编写的游戏 游戏存储在服务器上 当我在常规浏览器 移动和桌面 中玩游戏时 游戏本身会存储在本地 并且高分也会存储在本地 重新启动游戏后不需
  • WKWebView:无需 Javascript 即可缩放PageToFit 行为

    如何获得scalesPageToFit显示在 HTML 内容中的行为WKWebView 不使用 JavaScript 在我们的例子中需要禁用 JS 抱歉没有发布任何代码 但我不知道如何实现这一目标 我所知道的和我找到的所有解决方案都是基于J
  • 从本地存储中删除数组项

    我在本地存储中存储了一个数组 将其解析为 json 我将它放回到一个对象中 从中删除了一些项目 我需要使用本地存储中的新值更新密钥 var counter 0 1 2 var count counter 0 var questions lo
  • WKWebView 上的链接点击侦听器?

    WKWebView 类中是否存在类似 onLinkClickListener 的东西 我尝试用谷歌搜索但一无所获 我还在类似类型的 stackoverflow 上发现了一些未解答的问题 我需要 linkClickListener 的原因是
  • WKWebView 中的调整大小处理程序中的 window.innerWidth/Height 未更新

    我有一些全屏网页内容 当窗口使用调整大小事件更改大小时 我会更新这些内容 window onresize function var width window innerWidth var height window innerHeight
  • 如何保护Web应用程序免受cookie窃取攻击?

    我的网络应用程序的身份验证机制目前非常简单 当用户登录时 网站会发回一个存储的会话 cookie 使用localStorage 在用户的浏览器上 但是 此 cookie 很容易被窃取并用于从另一台计算机重播会话 我注意到其他网站 例如 Gm
  • WKWebView 在 iOS 10 及以上版本中不加载 http 图像

    我正在加载一个https URL in WKWebView里面很少有图像来自HTTP启用后加载完美的 URLNSAllowsArbitraryLoads in info plist文件在 iOS 9 中 但在 iOS 10 及更高版本上它不
  • iOS计算带有嵌入推文的html字符串的正确WKWebview高度

    我正在使用 wkwebview 使用 loadHTMLString 方法加载给定的 HTML 字符串 在 wkwebview didFinishNavigation 之后 我通过评估 javascript document height 将
  • wkwebview 中的 UIMenuItem #selector 方法崩溃

    UIMenuItem选择器方法在 iOS 11 beta SDK 中崩溃 WKContentViewhighlightText 无法识别的选择器发送到实例0x7f85df8f3200 方法定义 func highlightText 我尝试添
  • 在 WKWebView 中禁用放大手势

    我正在寻找一种方法来禁用 WKWebView 的 iOS 实现上的 捏合缩放 放大手势 OS X 有一个 magnification BOOL 属性 但在 iOS 上似乎不可用 WKWebView h if TARGET OS IPHONE
  • 我将如何将 localStorage 与 Object 一起使用

    请有人能说清楚为什么我需要这样做JSON stringify localStorage setItem data 然后使用JSON parse localStorage getItem data 在我可以取回我的数据对象之前 简而言之 因为
  • WKWebView不加载https URL?

    我有一个 WKWebView 应该加载以下网址 https buchung salonmeister de place offer details page id 907599 venueId 301655 她是我使用的代码 import
  • 如何使用 Python 和 Selenium WebDriver 获取 localStorage

    相当于什么 driver get cookies 获取 LocalStorage 而不是 ookies python API没有提供直接读 写本地存储的方法 但可以通过execute script class LocalStorage de

随机推荐

  • 如何在 Android 中使用 KSoap 2

    我刚刚发现 ksoap2 在 Android 应用程序中使用我自己的 asp net Web 服务 我在互联网上发现了一些很棒的资源 并且我已经在 Android 应用程序中实现了我的网络服务 以下是我使用的网络服务的响应 HTTP 1 1
  • 如何在 R 中将 dd/mm/yy 转换为 yyyy-mm-dd

    我有一个向量 其日期值采用这种格式 dd mm yy 例如 27 06 16 我想将其转换为 yyyy mm dd 格式 例如 2016 06 27 以进行逻辑比较 我正在使用这个表达 as Date as character 27 06
  • 类运算符

    我在编写代码时遇到问题 void main Matrix c rows cols rows cols are int numbers c 0 0 2 the line that I m having a problem to do the
  • 有没有办法让 LaTeX 将图形放置在同一页面中作为对该图形的引用?

    我正在使用 LaTeX 和图形环境 我非常熟悉该环境的参数 htbp 而且我通常也熟悉 LaTeX 默认情况下决定将每个图形放在哪里的策略 例如 将图形放置在页面的顶部或底部 我想知道是否有一个包 宏或一些我可以提供的命令 这样如果我有一个
  • 替换javascript中的换行符

    我正在尝试替换实例 r or n我的 json 对象中的字符 br 用于在网站上显示 I tried myString myString replace r n br 但这似乎并没有什么作用 当我用其他东西替换正则表达式时 例如 a 例如
  • R:用不同的颜色将一个 ECDF 绘制在另一个 ECDF 之上

    我有几个累积经验密度函数 我想将它们绘制在彼此之上 以说明两条曲线的差异 正如所指出的在上一个问题中 https i stack imgur com V7fIq png 绘制 ECDF 的函数很简单plot Ecdf 当我阅读精美的手册页时
  • 是否有不是完整网站的卡片/目录应用程序?

    我遇到的每个解决方案似乎都是一个完整的商店 有太多的选项和太多的功能 我可以编写自己的购物车来从前端获得我需要的最小功能 我只是想减少编写复杂后端的时间 我真正想要的是提供产品目录 订单管理等后端功能 同时提供流畅一致的 API 来访问完全
  • Winforms Chart - 在折线图上绘制允许的区域

    如何在图表上绘制灰色区域 信号的允许范围 我使用 Winforms 和标准 MicrosoftSystem Windows Forms DataVisualization类 它应该是自定义范围 这意味着起始 Y 点不能仅为零 我在运行时在线
  • Silverlight - 动画贝塞尔曲线画线?

    我正在构建一个小型 Silverlight 应用程序 在我的应用程序中 我需要绘制线条 类似于附图中所示的内容 我知道绘制拱形连接线 绿色 的最佳方法是使用贝塞尔曲线 我的问题是 如何对线条的绘制进行动画处理 让它们从起始 X Y 坐标开始
  • 如何在 C# 中搜索 Excel 文件

    我正在使用的代码 private void OpenExcelFile Excel Application exlApp new Microsoft Office Interop Excel Application if exlApp nu
  • Twitter API 与 Scala 2.12 一起使用

    我正在使用 Scala 2 12 使用 SBT 构建 构建 Spark 3 0 0 流应用程序 鉴于所有用于执行此操作的库均适用于 Scala EDIT 我尝试使用库构建时得到的示例输出 object twitter is not a me
  • pymssql:在非 Windows 机器上运行时如何使用 Windows 身份验证

    python 有没有办法使用连接到 MS SQL ServerWindows 身份验证 即使不在 Windows 机器上运行 python 应用程序 我正在尝试使用 pymssql 来执行此操作 但这些示例似乎大多假设您在 Windows
  • Node.js + Firebase orderByChild 不起作用

    我试图弄清楚这个嵌套顺序 但我所做的一切都不起作用 这是我试图订购的数据结构的示例 KV Lrm 93Agm8kAuXql body Acceleration 0 0 Altitude 11 Battery 12 7 Date 2016 0
  • Java中String的字符编码是什么?

    我实际上对 Java 中字符串的编码感到困惑 我有一些问题 如果您知道答案 请帮助我 1 Java字符串在内存中的本机编码是什么 当我写作时String a Hello 将以哪种格式存储 由于 Java 是独立于机器的 我认为系统不会进行编
  • 当我的 iPAD 上安装了应用程序的“.ipa”文件时,如何获取 IOS 应用程序的捆绑包 ID

    我正在尝试在安装了我的应用程序的 iPad 上进行自动化测试 我正在使用 Appium 来自动化应用程序 它要求我输入需要测试的应用程序的捆绑 ID 有人可以帮我找到一种方法 从我的 IPAD 上安装的应用程序或从我的 iMAC 上下载的
  • 如何使用gradle和jetty在调试模式下启用热插拔?

    我正在使用 jettyRun 来运行我的简单 spring 应用程序 我想使用 Intellij 调试器启用热插拔 但看起来 jetty 没有捕获更改 On http docs codehaus org display GRADLE Gra
  • 与主机中的容器共享目录或卷

    我有一个目录 可能是后面的卷 我想与所有交互式容器共享 我知道 本机 Docker 卷存储在 var lib docker volumes and docker run v似乎是最简单的方法 但我认为Data Volume Containe
  • .NET csc 和 Mono mcs 的兼容性

    我知道 NET 和 Mono 是二进制兼容的 但给定一组源代码 csc 和 mcs 会生成完全相同的 100 相同的二进制 CLI 可执行文件吗 人们能够判断可执行文件是用 csc 还是 mcs 编译的吗 很多东西在规范中没有完全定义 或者
  • Python for 循环中的多个循环控制变量

    我遇到了一种情况 我需要实现具有多个循环控制变量的 for 循环 基本上这就是我想做的 Java for int i 0 j n i
  • iOS WKWebView不支持本地存储

    我正在构建一个简单的 WKWebView 应用程序 该应用程序加载用 Construct HTML5 编写的游戏 游戏存储在服务器上 当我在常规浏览器 移动和桌面 中玩游戏时 游戏本身会存储在本地 并且高分也会存储在本地 重新启动游戏后不需