idefaye

Members
  • Content count

    5
  • Joined

  • Last visited

Posts posted by idefaye


  1. Hello,

     

    We are using FusionCharts XT 3.3.1 in javascript. The charts are used inside widgets that are called by a main page. Because it is inside widget, the fusionchart.js files need to be loaded dynamically only when needed, we are using jQuery.ajax() with dataType:"script" to load the files (or in other words, jQuery.getScript()).

     

    Everything works well on Chrome, Firefox, IE10. But on IE9 and mainly IE8 we have issues were the main page becomes completely blank at load when fusionChart.js is loaded. Most notably when the file is not in the browser cache.

     

    This is the error we get :

    User Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
    Timestamp: Thu, 7 Nov 2013 14:14:18 UTC

    Message: Permission denied
    Line: 3
    Char: 4870
    Code: 0
    URI: http://website/external/jQuery/1.9.1/jquery-1.9.1.min.js

    When this errors happens, if we look at the page source, everything has been removed and there is only this line left : <script id="__ie_onload_fusioncharts" defer="defer" src="javascript:void(0)"></script>

    This is done by a window.document.write() by fusionchart. Document.write() blocks rendering and it seems the consequence, for heavy HTML pages, on IE8 and IE9, is that everything gets replaced with whatever is in  the document.write().

    If I may suggest, you may look at what require.js says about script loading : http://requirejs.org/docs/why.html, look at paragraph 7 and 8.

    The head.appendchild(script)  technique would be a better alternative apparently.

     

    We have yet not found alternative solution. 


  2. Hello.

     

    We want to use fusionChartXT javascript inside widgets that could be hosted by different web servers. We have the widget site on http://widgetbase/ and they can be used a client host like: http://host/When the widget is loaded on the host it takes care of loading all js dependecies it needs, including fusionCharts.js file.

     

    Fusion chart is not able to load itself properly and cleanly, we have two issues:

     

    Issue1:

    To load dynamically fusionchart we use : jQuery.getScript().

    When loading only fusionCharts.js from our http://widgetbase/externals/fusioncharts/ it seems that fusionCharts tries to load automatically FusionCharts.HC.js and FusionCharts.HC.Charts.js from http://host/ where they do not exists.

    It does not look at the good place ! Even if we have the widget on the same domain, it still doesn't look at the right place! We understand that guessing from where a js files was loaded is hasardous, but we haven't found a configuration option to tell it where look at.

     

    Issue2:

    If we add those two files to our dynamic loading, still using jQuery.getScript(). Since web is asynchronous, a file may be loaded before another. But FusionChart seems to ignores this concept and crashes if a files is loaded before another, which happens almost all the time, since the smaller files load faster than the big ones.

    If there is a loading order dependency it should be dealt with within the same file code and not by file loading order. Or a better option is to have everything inside a single file, this would made pageloading faster, rather than loading 3 files.

    For now, to prevent errors, we had to make an ugly synchronous loading, which blocks and slows page loading.

     

    Please make FusionChart fully asynchronous compatible and/or have all the library in one simple loading file.