Has anyone seen a symptom where a WebView
can’t display HTML / is blank after running evaluateJavascript
?
Try running this. First present()
works fine, second one doesn’t.
const webView = new WebView()
const webHtml = "<body bgcolor='gray'><div id='animal'>cat</div></body>"
const webJs = `
var s = document.getElementById('animal');
console.log(s.innerHTML)
s.innerHTML = "dog"
`
await webView.loadHTML(webHtml)
await webView.present()
log(await webView.getHTML())
const result = await webView.evaluateJavaScript(webJs)
log(await webView.getHTML())
log(result)
await webView.present()
Log output seems to indicate it should work, but unfortunately doesn’t -
2019-05-18 16:56:34: <html><head></head><body bgcolor="gray"><div id="animal">cat</div></body></html>
2019-05-18 16:56:34: cat
2019-05-18 16:56:34: <html><head></head><body bgcolor="gray"><div id="animal">dog</div></body></html>
2019-05-18 16:56:34: dog
Even if I loadHtml after evaluateJavascript:
await webView.loadHTML(webHtml)
await webView.evaluateJavaScript(webJs)
webHtml = await webView.getHTML()
await webView.loadHTML(webHtml)
await webView.present()
I’m new to Scriptable, so the flaw may be obvious. Thanks for ideas.