如何在 Swift 上将 HTML 代码加载到 WebView

Posted

技术标签:

【中文标题】如何在 Swift 上将 HTML 代码加载到 WebView【英文标题】:How can I load HTML Code to WebView on Swift 【发布时间】:2020-04-22 15:41:34 【问题描述】:

我在 *** 上搜索了如何在 swift 上实现我的 webview 以显示 html 代码并且已经找到了一些东西。

但它不起作用。我的问题是我没有收到错误。 我的应用程序应该启动并在 webkit 中打开一个视频,但没有任何反应。它只是显示一个空白页。 这是我的代码。我在控制台上收到一条消息,但不明白问题所在。

import UIKit
import WebKit

class ViewController: UIViewController 

    @IBOutlet weak var webView: WKWebView!
    override func viewDidLoad() 
        super.viewDidLoad()

        let webView = WKWebView()
        webView.loadHTMLString("<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/0zrSJ6jhAY0\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>", baseURL: nil)

我还上传了一张截图。也许我的 main.storyboard 做错了,但我不这么认为。 enter image description here

【问题讨论】:

您是否确定在目标的“签名和功能”选项卡中检查了“传出连接”功能? 我看到的第一个问题是您有 两个 webView 对象。一个是@IBOutlet,另一个是在您调用let webView 时创建的。尝试删除第二个,然后重试。 是的,非常感谢。我不知道为什么有两个。删除它,它的工作原理!我可以点击你帮助我或类似的东西吗?我是 *** 的新手。 【参考方案1】:

在 UIWebView 中:-

let webView = UIWebView()
webView.loadHTMLString("<!DOCTYPE html><html><head>Loading HTML</head><body><p>Hello!`</p></body></html>", baseURL: nil)`

从 2020 年 4 月起,UIWebView 将不允许任何应用程序使用。因此,我们需要为此使用 WKWebView。

现在是 WKWebView 的代码:

let webView = WKWebView()
webView.loadHTMLString("<!DOCTYPE html><html><head>Loading HTML</head><body><p>Hello!`</p></body></html>", baseURL: nil)`

【讨论】:

【参考方案2】:

您应该在正文字符串之前和之后添加 html 标记。试试下面的代码:

import UIKit
import WebKit

class ViewController: UIViewController 

    @IBOutlet var webView: WKWebView!
    override func viewDidLoad() 
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        webView.loadHTMLString("<!DOCTYPE html><html><body><iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/0zrSJ6jhAY0\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe></body></html>", baseURL: nil)
    



【讨论】:

以上是关于如何在 Swift 上将 HTML 代码加载到 WebView的主要内容,如果未能解决你的问题,请参考以下文章

如何在swift 3上将UITableViewController的背景颜色更改为渐变色

Swift - 如何在 Firebase 上将排序查询创建为降序?

如何在谷歌应用引擎上将帖子从数据库异步加载到 django 模板?

如何在 iOS 上将“MongoDB 日期时间(ISO 日期)”解析为 NSDate(swift 和 Objective-c)

在 java 上将 csv 文件加载到 GreenPlum 失败

如何在 Swift 上将 Parse `PFUser` 从`MapView` 传递(抓取)到另一个`ViewController`?