iPad Swift Playgrounds中WKWebView使用含双引号HTML遇转义序列错误求助
解决Swift Playgrounds中WKWebView加载HTML的转义序列错误
你遇到的「Invalid escape sequence in literal」错误,核心原因是代码里用了中文全角的转义引号「\”」,而Swift仅支持英文半角的「"」作为字符串转义序列,导致编译器无法识别。
修复方法一:修正转义引号格式
把HTML字符串中所有的「\”」替换为「"」,即可正常编译运行:
override func viewDidLoad() { super.viewDidLoad() self.webView.loadHTMLString("<iframe frameborder=\"0\" src=\"https://itch.io/embed/2292016\" width=\"552\" height=\"167\"><a href=\"https://v205.itch.io/ghost-battle\">Ghost Battle by V205</a></iframe>", baseURL: nil) }
修复方法二:用单引号包裹HTML(更简洁)
Swift允许用单引号'包裹字符串,此时内部的双引号不需要转义,代码更清爽:
override func viewDidLoad() { super.viewDidLoad() self.webView.loadHTMLString('<iframe frameborder="0" src="https://itch.io/embed/2292016" width="552" height="167"><a href="https://v205.itch.io/ghost-battle">Ghost Battle by V205</a></iframe>', baseURL: nil) }
修复方法三:使用多行字符串(Swift 5+)
用三个双引号"""包裹多行HTML,原HTML可以直接粘贴,不需要任何转义,可读性最高:
override func viewDidLoad() { super.viewDidLoad() let htmlContent = """ <iframe frameborder="0" src="https://itch.io/embed/2292016" width="552" height="167"> <a href="https://v205.itch.io/ghost-battle">Ghost Battle by V205</a> </iframe> """ self.webView.loadHTMLString(htmlContent, baseURL: nil) }
内容的提问来源于stack exchange,提问作者anon62782349
相关产品推荐
相关产品推荐

