From: Scott Worley Date: Sat, 4 Aug 2012 20:00:11 +0000 (-0700) Subject: URL detection X-Git-Url: http://git.scottworley.com/reliable-chat/commitdiff_plain/e04a2cfd805de46cfb38479d696a07c8b24f62b2?ds=inline URL detection --- diff --git a/webclient/rc.html b/webclient/rc.html index d91d3a6..36c0c10 100644 --- a/webclient/rc.html +++ b/webclient/rc.html @@ -31,6 +31,9 @@ color: silver; font-family: monospace; } + a { + color: white; + } #container { height: 100%; } @@ -209,7 +212,26 @@ type += " self"; } text_span.setAttribute("class", type); - text_span.appendChild(document.createTextNode(message.Text)); + + // URL detection + var text = message.Text; + var URL_re = /\bhttps?:\/\/\S+/; + while (URL_re.test(text)) { + var match = URL_re.exec(text); + var leading_text = text.substr(0, match.index); + if (leading_text) { + text_span.appendChild(document.createTextNode(leading_text)); + } + var anchor = document.createElement("a"); + anchor.setAttribute("href", encodeURI(match[0])); + anchor.appendChild(document.createTextNode(match[0])); + text_span.appendChild(anchor); + text = text.substr(match.index + match[0].length); + } + if (text) { + text_span.appendChild(document.createTextNode(text)); + } + message.UI.appendChild(text_span); }