I just wanted to give everyone a heads up on a problem that took me a while to track down.
After upgrading a project with a chart control from 7.2 b 1069 to the latest hotfix for 7.2 I started getting an error in IE which seemed to be sporadic and even random at times.
Internet Explorer cannot open the internet site http://thesite/ Operation aborted
I found this Microsoft KB article on the problem:
http://support.microsoft.com/default.aspx/kb/927917
Finally, I discovered that it was the chart control that was generating the error. In my application the chart control is contained within a Div tag.
If the user generates a post back and the mouse is left on the screen where the chart is going to render the error is thrown. My guess is that the tool tip used by the chart control is something like a dynamic div tag that positions itself relative the location of the mouse cursor. According to the KB article it appears that the chart control is trying to create that tag in the parent div tag which has yet to finish rendering on the screen... resulting in the error.
This was a very frustrating problem to track down and I hope this post helps someone else save time and a headache.
I have submitted an IR to Infragistics with the following ID: WBC4883
Hope it helps,
Patrick
Update 1:
Turned tooltips to mouse click and still have the problem.
Turned off tooltips and still have the problem.
this was submitted as a bug (BR33878) and we were able to fix it in the control's javascript code. it should be resolved in a future hotfix.
this fix is forthcoming, but here's a workaround in case you need one. just hide the chart in a div, and use javascript to show the div when the body is done loading. this prevents the mouse interaction code from throwing this error before the page is ready.
<html>
<head>
<script type="text/javascript">
function body_onload()
{
document.getElementById("theDiv").style.display = "";
}
</script>
</head>
<body onload="body_onload();">
<form>
<div id="theDiv" style="display:none"><igchart:UltraChart /> <div>
</form>
</body>
</html>
David,
Thank you for taking the time to find a work around.
Update:
Implemented, tested, and working well.
The Body onload event did not work for me. The div tag's display style was not changing. Read some documentation that Body onload may not be that reliable...? Any thoughts.
Instead what seems to work well is to call the function (to make div visible) at the end of the page, after the close body tag and before the close html tag
P.S. Thanks for the post and pointing us in the right direction.
Regards
Bill
this is fixed in the following versions:
7.2.20072.1080 CLR 2.0, 7.3.20073.1054 CLR 2.0, 8.1.20081.2049 CLR 2.0, 8.1.20081.2049 CLR 3.5, 8.2.20082.2013 CLR 2.0, 8.2.20082.2013 CLR 3.5
which means the next available hotfix should resolve this issue.
i've never had any problems with the body.onload event, but it's HTML, so nothing is certain :) ...your workaround of placing the script outside the body tag sounds good to me.
to make your masking DIV prevent events from occurring on the elements behind it, you probably need to set event.cancelBubble = true on the relevant events (onclick, onmousemove, onmouseenter, etc).
<div onclick="event.cancelBubble = true;" />
The error that I am getting is:
This is from IE8, which does handle the error better than IE7 (it doesn't crash), but it still throws it and looks kinda bad. Clicking Yes/No doesn't seem to make any difference - the page loads fine and the javascript mouseovers appear to work ok too.
I tried a variation on the DIV visibility workaround that you suggested by slapping a masking div over the entire page with a high enough Z-index to prevent interaction with anything on the page until it's finished loading. Unfortunately, that didn't help.
As it stands, we're just recommending that people doesn't use this particular app from a server directly. I was just wondering if anyone else had encountered this odd behaviour. Thanks for replying and please let me know if you can think of anything else to try.
so you are getting the error message, "Internet Explorer cannot open the internet site http://thesite/ Operation aborted" ?
according to the Microsoft KB article mentioned by the OP, this issue is fixed or hidden in IE8, so it must be something different. Does the DIV visibility workaround i provided help your scenario at all?
can you provide some screen captures of the problem and any errors you encounter?
Also, it appears that the error does not occur at all if there is only 1 chart on the webpage. Once more than 1 chart is being generated, the error occurs on the server.
I've upgraded to the latest service release for the version that I'm using (8.1.20081.2161) and I'm still seeing this issue. It appears on a Windows Server 2003 system running IE8. The website is served from that server. The odd thing is that when the webapp with the charts in it is called from a development machine (Win XP SP3 running IE8), the error doesn't occur.
Any ideas? If the webpage is served from the dev machine and accessed from the dev machine, the eror does not appear. However, if that same webpage, served from the dev machine, is accessed from the server, the error occurs. Could this be some difference between IE8 on a standard dev machine and IE8 on a server?
I know this is a little persnickity . . . but I really need to sort this. So, to summarize, this is the behaviour I'm seeing:
The charts are being created programmatically using data from a SQL dataset. Also, the charts are being housed within a ComponentArt Snap control. Any thoughts or ideas would be greatly appreciated!