diff options
author | Adam Chlipala <adam@chlipala.net> | 2014-04-21 12:09:58 -0400 |
---|---|---|
committer | Adam Chlipala <adam@chlipala.net> | 2014-04-21 12:09:58 -0400 |
commit | eec1cc7a37e04f9c4195ede0233ed773f2e964a9 (patch) | |
tree | 4371c9a659e2c168f1c573831e9ebe42a4fd7397 | |
parent | 1e7619137f25ceb0cef59100bc5a41ffc21a1412 (diff) |
Change <active> to avoid generating an empty <span> for empty content
-rw-r--r-- | lib/js/urweb.js | 8 | ||||
-rw-r--r-- | tests/activeEmpty.ur | 5 |
2 files changed, 10 insertions, 3 deletions
diff --git a/lib/js/urweb.js b/lib/js/urweb.js index 2e350378..fe628130 100644 --- a/lib/js/urweb.js +++ b/lib/js/urweb.js @@ -1009,8 +1009,6 @@ function active(s) { if (suspendScripts) return; - var span = document.createElement("span"); - addNode(span); var ms = maySuspend; maySuspend = false; try { @@ -1020,7 +1018,11 @@ function active(s) { throw e; } maySuspend = ms; - setInnerHTML(span, html); + if (html != "") { + var span = document.createElement("span"); + addNode(span); + setInnerHTML(span, html); + } } function input(x, s, recreate, type, name) { diff --git a/tests/activeEmpty.ur b/tests/activeEmpty.ur new file mode 100644 index 00000000..4c089899 --- /dev/null +++ b/tests/activeEmpty.ur @@ -0,0 +1,5 @@ +fun main () : transaction page = return <xml><body> + <active code={alert "Howdy, neighbor!"; return <xml/>}/> + <hr/> + <active code={return <xml>This one <b>ain't</b> empty.</xml>}/> +</body></xml> |