Fixing issues where ExtJS charts don’t render in IE

I’ve encountered several instances where ExtJS charts fail to render in non-obvious ways in IE- these are all with the 3.x branch, but may apply elsewhere. The charts are rendered using a Flash SWF file repurposed from YUI libraries.

  1. By default, ExtJS pulls the SWF from a Yahoo! CDN, unless configured otherwise. Recently YUI upgraded this file, and now charts fail to render in some ExtJS versions.  You can confirm this by checking network traffic from the browser. To fix this, Ext.chart.Chart.CHART_URL should be set to load this from a local resource.
  2. If there are several charts on one page, they may intermittently fail to render. ExtJS uses a cache-buster url parameter, _dc. This is set to the current time in milliseconds – when rendering many charts simultaneously, the SWF requests may receive the same value for _dc. For whatever reason, this can cause a charts to fail.
  3. Javascript errors can also cause failures- check for trailing commas within javascript objects.