ios - 在 webview 中打开图像(当图像和 css 存储在本地存储中时)

标签 ios swift webview

我可以从 sqlite 数据库中获取 html 数据。

let html = "<htmll>
...
...
<img src="Documents/datadb/DestinationGuide/Images/Destination-Guide.png">
...
</html>"
 webView.loadHTMLString(html, baseURL: nil)

图片存放在这个路径

Documents/datadb/DestinationGuide/Images/Destination-Guide.png

它无法在 webview 中加载。

我想我想在添加这个之后给出完整的路径,比如应用程序名称。

如何扫描html代码并替换srchref

已经试过了:

~/Documents/datadb/DestinationGuide/Images/Destination-Guide.png
/Documents/datadb/DestinationGuide/Images/Destination-Guide.png
/DestinationGuide/Images/Destination-Guide.png
/DestinationGuide/Images/Destination-Guide.png

最佳答案

您可以将此 html 保存在 DocumentDirectory 中作为 HTML 文件,然后加载该文件 webView。尝试这样的事情。

let html = "<html><img src=\"datadb/DestinationGuide/Images/Destination-Guide.png\"/> </html>"
//Save this html in `DocumentDirectory`
let saveHTML = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0].appendingPathComponent("sample.html")
try? html.data(using: .utf8)!.write(to: saveHTML)
//Now load this `sample.html` file in webView
webView.loadRequest(URLRequest(url: saveHTML))

关于ios - 在 webview 中打开图像(当图像和 css 存储在本地存储中时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43534178/

相关文章:

android - 如何提高 webview 加载时间

javascript - 从 Javascript 调用 PyObjc 函数

android - PageStorageKey 的 Flutter ListView 性能问题

ios - Container View 及其 subview 的大小相同

iOS:抗锯齿失败(CALayer 中的 PNG)

ios - 我可以在 UIScrollView (Swift) 中实现可伸缩图像标题吗?

swift - 尝试创建一个守卫来检查输入是否返回为 NaN

java - Android WebView 在链接单击时不会启动标准浏览器 - shouldOverrideUrlLoading 无效

javascript - 防止键盘关闭时出现模糊事件

ios - alertView 现在是 alertController