nlaslett

IE8 DataURL error with > 10 charts on a page

Recommended Posts

Hi,

 

 

 

I have a report page that loads 22 small 2d pie charts. Each loads with it's own id and as it's own FusionChart object. This worked fine on all browsers under FC 3.0.6 but after upgrading to FC 3.1.1 it no longer works under IE 8.

 

 

 

IE 8 seems to be only able to load 10 charts at a time. Any charts beyond that display "Error in loading data". The last 10 charts are the ones that load. If I reduce the number of charts rendered to the first 10, however, they now render fine - using the exact same XML feed.

 

 

 

In Chrome and Firefox all charts render without any problems or errors (in "inspector" and "Firebug", respectively).

 

 

 

I am calling all XML data via the setDataURL method, and I am properly encoding all URL and HTML data. Like I said, the charts that "fail" load fine if there are 10 or fewer charts on the page.

 

 

 

Here is a sample of how I am invoking the charts:

 

 

 

var pieA = new FusionCharts("FusionCharts/Charts/Pie2D.swf", "chartAId", "350", "250", "0", "0");

 

pieA.setDataURL("ResultsChartsXML%2Easp%3FQ%3DA");

 

pieA.render("chartA");

 

 

 

"chartA" is the target DIV id.

 

The unencoded URL is "ResultsChartsXML.asp?Q=A"

 

 

 

I know that IE's JavaScript engine isn't very good, but this report worked fine under FusionCharts 3.0.6. Because I have long subcaptions, I really need to use 3.1.1 for the new line wrap functionality.

 

 

 

Thanks,

 

Neil

Share this post


Link to post
Share on other sites

Hi,

 

 

 

It might be some caching issue. The browser might be caching the chart and is displaying it so fast that it does not ever get time to load the XML.

 

 

 

Could you please try add a cache killing mechanism?

 

 

 

var pieA = new FusionCharts("FusionCharts/Charts/Pie2D.swf?nocache="+ new Date().valueOf(), "chartAId", "350", "250", "0", "0");

Share this post


Link to post
Share on other sites

The "cache-killer" made no difference. Note that FC already automatically adds the "FCTime" variable to the dataURL call. Wouldn't that already prevent caching? This in addition to the fact that each chart is setting a different "Q=" value.

 

 

 

From the debug console:

 

dataURL provided: ResultsChartsXML.asp?Q=A

 

dataURL invoked: ResultsChartsXML.asp?Q=A&FCTime=1646

 

 

 

When I click on either link it opens without any problems, and the XML validates. If I restrict the page to 10 or fewer charts, these same charts (A through J) load fine, using the same dataURL. The charts that do load tend to be the last 10, but this is a little random from refresh to refresh.

 

 

 

Note that this problem only exists in IE8, not Google Chrome (which is much faster) and not in IE7.

 

 

 

Thanks,

 

Neil

Edited by Guest

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now