moxiecode/plupload — Issue #495: IE9: plupload.getPos returns wrong coordinates
Author: gernotk
Created: 2012-02-21 09:00:45+00:00
State: open

See line plupload.js L485-493:

if (node && node.getBoundingClientRect && (navigator.userAgent.indexOf('MSIE') > 0 && doc.documentMode !== 8)) {
nodeRect = getIEPos(node);
rootRect = getIEPos(root);

return {
x : nodeRect.x - rootRect.x,
y : nodeRect.y - rootRect.y
};

In case of IE8 the code above does the right thing and does *not* call the legacy function 'getIEPos'. In case of IE9, however, document.documentMode evals to '9' and, hence, 'getIEPos' is called unintentionally.

So L485 should be rather like:

if (node && node.getBoundingClientRect && ((navigator.userAgent.indexOf('MSIE') > 0) && (doc.documentMode < 8))) {

Thanks!