Note: this is not really a bug in base2, but more like a bug in IE. However it
will be nice if base2 provides a workaround where no exception is thrown (like
for example testing in function getBoundingClientRect whether the element is
attached to the document).
What steps will reproduce the problem?
1. Create the following test html page:
<html>
<head>
<script src="/path_to_base2/base2.js" type="text/javascript"></script>
<script src="/path_to_base2/base2-dom.js" type="text/javascript"></script>
<script type="text/javascript">
function test()
{
var div = document.createElement('div');
alert(base2.dom.ElementView.getBoundingClientRect(div));
}
window.onload = test;
</script>
</head>
<body></body>
</html>
2. Open the page in IE browser (tested with versions 6, 7 and 8).
What is the expected output? What do you see instead?
Expected: alert dialog with the text representation of the returned object.
Instead: the browser throws "Unspecified Error"
What version of the product are you using? On what operating system?
1.1 (alpha1)
Please provide any additional information below.
The same error is thrown if an attempt to read the offsetParent property of
element which is not attached to the document is made. This most probably is
related with the fact that for some (COM?) properties IE returns typeof
"unknown" which is not official return value for this operator (see
http://robertnyman.com/2005/12/21/what-is-typeof-unknown/). This also means
that a simple object detection like "if (element.offsetParent)" has to be
converted to "if (typeof element.offsetParent == "object")" (which does not
throw exception when the element is not attached yet to the document).
Original issue reported on code.google.com by mdimitrov@gmail.com on 10 Mar 2011 at 9:16
Original issue reported on code.google.com by
mdimitrov@gmail.com
on 10 Mar 2011 at 9:16