在没有Webview的情况下以swift渲染Javascript页面



SO经过一番研究,我发现你可以通过context.evaluateScript执行Javascript代码,这是我目前的代码:

if let url = URL(string: "https://cdn.azureradio.com/invocation/clearwater/iOS/the_beat.html") {
do {
let contents = try String(contentsOf: url)
print(contents)
let context = JSContext()!
let value = context.evaluateScript(contents)
do {
sleep(4)
print(value!.toString()!)
}
} catch {
// contents could not be loaded
}
} else {
// the URL was bad!
}

然而,我的输出只是undefined。Javascript应该生成一个HTML页面,我会对它进行润色,但Javascript不会在swift上运行。你可以看看https://cdn.azureradio.com/invocation/clearwater/iOS/the_beat.html

您可以在此处查看我的日志:https://i.stack.imgur.com/oRDfL.jpg如果有人知道如何生成html页面表单JS,请告诉我。非常感谢。

您不知从哪里创建了一个JSContext,并期望它能在屏幕中呈现出您想要的内容?

如果没有web视图,就不可能呈现HTML。甚至NSAttributedString也会在后台创建一个web视图来渲染html。

最新更新