iOS WKWebview loadHTMLString(_ baseURL :) fails to load images and read css

标签 ios wkwebview

我知道之前有人问过这个问题,但我的情况有点不同。

我正在尝试调用 WKWebview 上的 loadHTMLString(_ baseURL:),我的 baseURL 位于 AppData/Documents 目录中。

我需要加载 HTMLstring 并且它需要使用该目录中的图像。 HTMLstring 不在任何地方,我下载字符串解析它,修改它并加载它。

据我所知,由于某种安全问题我不能这样做(它在 UIWebview 上运行良好),因此加载了 HTMLstring 但图像和 CSS 不是。

此外,我无法调用 loadFileURL(_, allowingReadAccessTo:) 因为我没有文件 我有 HTMLstring 并且无法保存它由于我自己的安全问题,在通话前提交文件。

我的代码很大而且很复杂我想以最轻松的方式实现加载图片。

有人有想法吗?

最佳答案

我希望我有更好的答案,如果有人有更好的答案,我会很乐意接受。 我最终将我的文件移动到临时目录:(我用过这个 -

extension FileManager
{
    func copyToTemporaryDirectory(itemIn itemURL: URL) -> URL?
    {
        let tempDirectoryURL    = URL(fileURLWithPath: NSTemporaryDirectory())
        let fileName            = itemURL.lastPathComponent
        let copyURL             = tempDirectoryURL.appendingPathComponent(fileName)
        let fileManager         = FileManager.default

        do {

            if fileManager.fileExists(atPath: copyURL.path)
            {
                try fileManager.removeItem(at: copyURL)
            }

            try FileManager.default.copyItem(at: itemURL, to: copyURL)

            return copyURL

        }
        catch let error
        {
            logger.debug("copyItem error: \(error.localizedDescription)")
            return nil
        }
    }
}

然后 loadHtmlString 和此目录的 URL。从这个目录,WKWebview 被允许获取所有内容。

关于iOS WKWebview loadHTMLString(_ baseURL :) fails to load images and read css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60025501/

相关文章:

ios - UIDatepicker设置最小分钟

objective-c - 查找 UIView 对象的颜色并更改颜色

iphone - 图标设计和锯齿状边缘

html - HTML输入自动完成功能在WKWebview中不起作用

ios - 如何在不初始化 UIWebView 或 WKWebView 的情况下获取 WKWebView 的 UserAgent?

javascript - iOS WKWebView 选项选择触发太迟

ios - didFailProvisionalNavigation 错误未本地化

ios - 在 SwiftUI WebView 中拉动刷新

ios - Swift:将 String 转换为 Float 并在进行一些数学运算后再次返回 String

ios - 如何以编程方式使按钮按顺序闪烁