diff --git a/godoc/static/play.js b/godoc/static/play.js index a8b83bc5..20350fad 100644 --- a/godoc/static/play.js +++ b/godoc/static/play.js @@ -13,17 +13,20 @@ function initPlayground(transport) { var s = ""; for (var i = 0; i < node.childNodes.length; i++) { var n = node.childNodes[i]; - if (n.nodeType !== 1) continue; - if (n.tagName === "BUTTON") continue; - if (n.tagName === "SPAN" && n.className === "number") continue; - if (n.tagName === "PRE"){ + if (n.nodeType === 1) { + if (n.tagName === "BUTTON") continue + if (n.tagName === "SPAN" && n.className === "number") continue; + if (n.tagName === "DIV" || n.tagName == "BR") { + s += "\n"; + } s += text(n); continue; } - var innerText = n.innerText === undefined ? "textContent" : "innerText"; - s += n[innerText] + "\n"; + if (n.nodeType === 3) { + s += n.nodeValue; + } } - return s; + return s.replace("\xA0", " "); // replace non-breaking spaces } function init(code) { diff --git a/godoc/static/static.go b/godoc/static/static.go index 41fbc5bb..a4649696 100644 --- a/godoc/static/static.go +++ b/godoc/static/static.go @@ -847,17 +847,20 @@ function initPlayground(transport) { var s = ""; for (var i = 0; i < node.childNodes.length; i++) { var n = node.childNodes[i]; - if (n.nodeType !== 1) continue; - if (n.tagName === "BUTTON") continue; - if (n.tagName === "SPAN" && n.className === "number") continue; - if (n.tagName === "PRE"){ + if (n.nodeType === 1) { + if (n.tagName === "BUTTON") continue + if (n.tagName === "SPAN" && n.className === "number") continue; + if (n.tagName === "DIV" || n.tagName == "BR") { + s += "\n"; + } s += text(n); continue; } - var innerText = n.innerText === undefined ? "textContent" : "innerText"; - s += n[innerText] + "\n"; + if (n.nodeType === 3) { + s += n.nodeValue; + } } - return s; + return s.replace("\xA0", " "); // replace non-breaking spaces } function init(code) {