diff --git a/ChangeLog b/ChangeLog index ee7f06b3c..53141f1fb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2010-05-17 Wolfgang Sourdeau + * UI/WebServerResources/generic.js (log): improved the method's + performance by making use of DOM methods on the "logConsole" + object. + * UI/WebServerResources/JavascriptAPIExtensions.js (Date.prototype.clone): new method for copying the Date object into another instance. diff --git a/UI/WebServerResources/generic.js b/UI/WebServerResources/generic.js index 28ef71707..b27d380c5 100644 --- a/UI/WebServerResources/generic.js +++ b/UI/WebServerResources/generic.js @@ -720,19 +720,20 @@ function log(message) { } var logConsole = logWindow.document.getElementById("logConsole"); if (logConsole) { - logConsole.highlighted = !logConsole.highlighted; - if (message == '\c') { - logConsole.innerHTML = ""; + if (message == "\c") { + while (logConsole.firstChild) { + logConsole.removeChild(logConsole.firstChild); + } return; } - var logMessage = message.replace("<", "<", "g"); - logMessage = logMessage.replace(" ", " ", "g"); - logMessage = logMessage.replace("\r\n", "
\n", "g"); - logMessage = logMessage.replace("\n", "
\n", "g"); - logMessage += '
' + "\n"; - if (logConsole.highlighted) - logMessage = '
' + logMessage + '
'; - logConsole.innerHTML += logMessage; + if (message[message.length-1] == "\n") { + message = message.substr(0, message.length-2); + } + var lines = message.split("\n"); + for (var i = 0; i < lines.length; i++) { + logConsole.appendChild(document.createTextNode(lines[i])); + logConsole.appendChild(createElement("br")); + } logConsole.scrollTop += 300; /* abritrary number */ } }