Ruby on Rails
JavaScript, XHTML, CSS
Java, Distributed Systems
<you_name_it>
Ie6 canvas moved to the right
Submitted by hanger on Fri, 02/05/2010 - 22:08
First : A big thanks for your job
Second : I wish Ie6 never exists !!
Unfortunately not . Liquid-canvas is working perfectly on FF & Ie7/8 & Chrome
On IE6, the effect is applied , but the canvas is shifted next to it, on the right of the screen .
the div on witch the effect is supposed to be applied has
width:971px;
height:100%;
z-index:1;
margin-left: auto;
margin-right: auto;
Could it be the source of the prob ? Any idea ?
++
Marc
Trackback URL for this post:
http://www.ruzee.com/trackback/280

Answering my own question ..
Answering my own question .. by a very dirty workaround that I can not explain .. it just works
in liquid-canvas.js (~220)
function checkResize(container, force) {
var $container = $(container);
var data = $container.data('liquid-canvas');
if (!data) return;
var canvas = data.canvas;
var $canvas = $(canvas);
var w = $container.outerWidth();
var h = $container.outerHeight();
if (force ||
canvas.width != w || canvas.height != h ||
canvas.offsetTop != container.offsetTop || canvas.offsetLeft != container.offsetLeft) {
pollCounter = 100;
nl= container.offsetLeft-2*w;
if (!(/MSIE 6/.test(navigator.userAgent)))
$canvas.css({ left: container.offsetLeft + "px", top: container.offsetTop + "px" });
else
$canvas.css({ left: nl + "px", top: container.offsetTop + "px",width:2*w+"px" });
}
if (!(/MSIE 6/.test(navigator.userAgent)))
canvas.width = w;
else
canvas.width = 2*w;
canvas.height = h;
var area = new Area(canvas);
area.save();
data.paint(area);
area.restore();
}