diff --git a/sflphone-client-gnome/webkit/im/im.js b/sflphone-client-gnome/webkit/im/im.js index db963f2578585fdf92f5ef66ce6b23135974863b..41fb15b365890d5f83b4e347521d34d7b46abb31 100644 --- a/sflphone-client-gnome/webkit/im/im.js +++ b/sflphone-client-gnome/webkit/im/im.js @@ -1,6 +1,23 @@ +function linkify(text){ + if (text) { + text = text.replace( + /((https?\:\/\/)|(www\.))(\S+)(\w{2,4})(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/gi, + function(url){ + var full_url = url; + if (!full_url.match('^https?:\/\/')) { + full_url = 'http://' + full_url; + } + return '<a href="' + full_url + '">' + url + '</a>'; + } + ); + } + return text; +} + + function add_message (message) { var msgBody = document.getElementById ('messages'); - msgBody.innerHTML = '<div class="message">' + message + '</div>' + msgBody.innerHTML; + msgBody.innerHTML = '<div class="message">' + linkify (message) + '</div>' + msgBody.innerHTML; }