Mercurial > hg > digilib-old
diff client/digitallibrary/jquery/jquery.digilib.js @ 686:86c4174977f1 jquery
trying to work around IE bugs, debugging for IE
author | hertzhaft |
---|---|
date | Wed, 26 Jan 2011 18:37:03 +0100 |
parents | 96a0395d6fb9 |
children | 97c01b911754 |
line wrap: on
line diff
--- a/client/digitallibrary/jquery/jquery.digilib.js Wed Jan 26 15:37:39 2011 +0100 +++ b/client/digitallibrary/jquery/jquery.digilib.js Wed Jan 26 18:37:03 2011 +0100 @@ -6,9 +6,28 @@ // fallback for console.log calls if (typeof(console) === 'undefined') { var console = { - log : function(){}, - debug : function(){}, - error : function(){} + log : function(){ + var $debug = $('#debug'); + if (!$debug) return; + var args = Array.prototype.slice.call(arguments); + var argstr = args.join(' '); + $debug.append('<div class="_log">' + argstr + '</div>'); + }, + debug : function(){ + // debug for MSIE etc + var $debug = $('#debug'); + if (!$debug) return; + var args = Array.prototype.slice.call(arguments); + var argstr = args.join(' '); + $debug.append('<div class="_debug">' + argstr + '</div>'); + }, + error : function(){ + var $debug = $('#debug'); + if (!$debug) return; + var args = Array.prototype.slice.call(arguments); + var argstr = args.join(' '); + $debug.append('<div class="_error">' + argstr + '</div>'); + } }; } @@ -634,32 +653,34 @@ var setupScalerDiv = function (data) { var settings = data.settings; var $elem = data.$elem; - var $img; + var $img, scalerUrl; + // fullscreen if (settings.interactionMode === 'fullscreen') { - // fullscreen var imgSize = getFullscreenImgSize($elem); // fitwidth/height omits destination height/width if (data.dlOpts['fitheight'] == null) { settings.dw = imgSize.width; - } + }; if (data.dlOpts['fitwidth'] == null) { settings.dh = imgSize.height; - } + }; $img = $('<img/>'); - var scalerUrl = getScalerUrl(data); - $img.attr('src', scalerUrl); + scalerUrl = getScalerUrl(data); + // embedded mode -- try to keep img tag } else { - // embedded mode -- try to keep img tag $img = $elem.find('img'); if ($img.length > 0) { - console.debug("img detach:",$img); + console.debug("img detach:", $img); + scalerUrl = $img.attr('src'); $img.detach(); } else { $img = $('<img/>'); - var scalerUrl = getScalerUrl(data); - $img.attr('src', scalerUrl); - } + scalerUrl = getScalerUrl(data); + }; } + // setup image load handler before setting the src attribute (IE bug) + $img.load(scalerImgLoadedHandler(data)); + $img.attr('src', scalerUrl); // create new html $elem.empty(); // TODO: should we keep stuff for customization? var $scaler = $('<div class="scaler"/>'); @@ -668,7 +689,6 @@ $img.addClass('pic'); data.$scaler = $scaler; data.$img = $img; - $img.load(scalerImgLoadedHandler(data)); }; // creates HTML structure for buttons in elem @@ -845,6 +865,7 @@ // create Transform from current area and picsize data.imgTrafo = getImgTrafo($img, data.zoomArea, data.settings.rot, data.scalerFlags.hmir, data.scalerFlags.vmir); + console.debug("imgTrafo=", data.imgTrafo); // display marks renderMarks(data); //digilib.showArrows(); // show arrow overlays for zoom navigation