From ba6e0d2a05782ee21d18e88aeb35345b35aef00a Mon Sep 17 00:00:00 2001 From: Marcel Klehr Date: Sun, 30 Dec 2012 10:56:31 +0100 Subject: [PATCH] Fix #1307: Chrome needs console.log to be called on console obj --- src/static/js/html10n.js | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/static/js/html10n.js b/src/static/js/html10n.js index dc5839678..bb4acf819 100644 --- a/src/static/js/html10n.js +++ b/src/static/js/html10n.js @@ -21,8 +21,29 @@ * IN THE SOFTWARE. */ window.html10n = (function(window, document, undefined) { - var consoleLog = console? console.log : function() {} - , consoleWarn = console? console.warn : function() {} + var console = window.console + function interceptConsole(method){ + var original = console[method] + + if (!console) return function() {} + + // do sneaky stuff + if (original.bind){ + // Do this for normal browsers + return original.bind(console) + }else{ + return function() { + // Do this for IE + var message = Array.prototype.slice.apply(arguments).join(' ') + original(message) + } + } + } + var consoleLog = interceptConsole('log') + , consoleWarn = interceptConsole('warn') + , consoleError = interceptConsole('warn') + + /** * MicroEvent - to make any js object an event emitter (server or browser)