Various IE fixes (most of the demo pages now function).

This commit is contained in:
kangax 2010-08-27 12:27:49 -04:00
parent b7d7b9fbc8
commit 7d2c7a35f2
8 changed files with 40 additions and 15 deletions

View file

@ -172,8 +172,11 @@
function pointerX(event) {
var docElement = document.documentElement,
body = document.body || { scrollLeft: 0 };
return event.pageX || (event.clientX +
// looks like in IE (<9) clientX at certain point (apparently when mouseup fires on VML element)
// is represented as COM object, with all the consequences, like "unknown" type and error on [[Get]]
// need to investigate later
return event.pageX || ((typeof event.clientX != 'unknown' ? event.clientX : 0) +
(docElement.scrollLeft || body.scrollLeft) -
(docElement.clientLeft || 0));
}
@ -182,7 +185,7 @@
var docElement = document.documentElement,
body = document.body || { scrollTop: 0 };
return event.pageY || (event.clientY +
return event.pageY || ((typeof event.clientY != 'unknown' ? event.clientY : 0) +
(docElement.scrollTop || body.scrollTop) -
(docElement.clientTop || 0));
}

View file

@ -70,7 +70,7 @@ if (!Array.prototype.filter) {
}
}
}
return res;
return result;
};
}

View file

@ -6,7 +6,7 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<!--[if lt IE 9]>
<script type="text/javascript" src="../lib/excanvas.js"></script>
<script type="text/javascript" src="../../lib/excanvas.js"></script>
<![endif]-->
<script src="../../dist/all.min.js" type="text/javascript"></script>

View file

@ -6,7 +6,7 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<!--[if lt IE 9]>
<script type="text/javascript" src="../lib/excanvas.js"></script>
<script type="text/javascript" src="../../lib/excanvas.js"></script>
<![endif]-->
<script src="../../dist/all.min.js" type="text/javascript"></script>

View file

@ -40,7 +40,14 @@
};
document.getElementById('commands').onclick = function(ev) {
ev.preventDefault();
ev = ev || window.event;
if (ev.preventDefault) {
ev.preventDefault()
}
else if (ev.returnValue) {
ev.returnValue = false;
}
var element = ev.target || ev.srcElement,
className = element.className,
@ -158,7 +165,10 @@
var supportsSlider = (function(){
var el = document.createElement('input');
el.type = 'range';
try {
el.type = 'range';
}
catch(err) { }
return el.type === 'range';
})();

View file

@ -7,10 +7,10 @@
<title>Canvas demo</title>
<!--[if lt IE 9]>
<script src="js/core/excanvas.js" type="text/javascript"></script>
<script src="../../lib/excanvas.js" type="text/javascript"></script>
<![endif]-->
<script src="../../dist/all.min.js" type="text/javascript"></script>
<script src="../../dist/all.js" type="text/javascript"></script>
<link rel="stylesheet" href="demo.css" type="text/css">
</head>
@ -21,9 +21,7 @@
</div>
<div style="position:relative;width:804px;height:704px;float:left;">
<canvas id="canvas" width="800" height="700"></canvas>
<div id="fps">
</div>
<div id="fps">&nbsp;</div>
<div id="complexity">Canvas complexity (number of paths):<strong></strong></div>
</div>

View file

@ -8,6 +8,9 @@
#c, #d { border: 1px solid #aaa; }
body { margin: 0; }
</style>
<!--[if lt IE 9]>
<script type="text/javascript" src="../lib/excanvas.js"></script>
<![endif]-->
<script src="../dist/all.js" type="text/javascript"></script>
</head>
<body>
@ -25,7 +28,13 @@
<script type="text/javascript">
(function() {
var canvas = document.getElementById('d'),
ctx = canvas.getContext('2d'),
ctx = (function(){
return canvas.getContext
? canvas.getContext('2d')
: typeof G_vmlCanvasManager != 'undefined'
? G_vmlCanvasManager.initElement(canvas).getContext('2d')
: null;
})(),
path = [ ],
xPoints = [ ],
yPoints = [ ],
@ -38,9 +47,12 @@
hardness = 50,
color = 'rgba(255,0,0,0)';
if (!ctx) return;
ctx.fillStyle = '#000000';
function onMove(e) {
e = e || window.event;
var x = e.pageX,
y = e.pageY,
spread = type == 'pencil' ? (diameter - 1) : (hardness / 100 * diameter - 1);
@ -72,6 +84,7 @@
}
canvas.onmousedown = function(e) {
e = e || window.event;
var x = e.pageX,
y = e.pageY;
@ -87,6 +100,7 @@
};
canvas.onmouseup = function(e) {
e = e || window.event;
canvas.onmousemove = null;
var minX = fabric.util.array.min(xPoints),

View file

@ -7,7 +7,7 @@
<title>Functional test suite</title>
<!--[if lt IE 9]>
<script type="text/javascript" src="../lib/excanvas.js"></script>
<script type="text/javascript" src="../../lib/excanvas.js"></script>
<![endif]-->
<script src="../../dist/all.js" type="text/javascript"></script>