Sorry for the delay.  We have a difficult time testing on the Windows
platform, due to security restrictions.  I was attempting to test the
following, but got bogged down in irrelevant hassles.  So rather than
delaying, I'll have to rely on you doing some more work.  If it works out,
you'll have make a similar change anyway at this point.

Could you try delaying the execution of the setImmediate.js code even
more?  Remove your google.setOnLoadCallback() and just do this:

load jsapi and call google.load()

load ISC_* code

window.setTimeout( function() {

  // wrap the setImmediate.js code in a function that you load from a file:
 function defineSetImmediate() {  ... setImmediate.js code }
  // remove the first part of that code that just returns if
global.setImmediate is defined.
if (global.setImmediate) { return; }
  defineSetImmediate();

  drawChart();

}, 3000);

That will give an arbitrary 3 seconds for ISC to finish loading, then
define setImmediate again.

On Thu, Mar 5, 2015 at 9:49 AM, Constantin FEIER <
[email protected]> wrote:

> Hello,
>
> Thank you for this quick response.
> It is very easy to reproduce it just by creating a test.html file with the
> suggested code and downloading the 3 files in a "smartclient" directory.
> As you suggested, with the same testcase,
> - I moved all the google chart scripts after the 3 smartclient js files,
> it did not work
> - I downloaded setImmediat.js, add it between the 3 smartclient js files
> and  google chart scripts, still no luck
> The error is the same, nothing changed for the two tests.
>
>
> Le jeudi 5 mars 2015 15:09:35 UTC+1, Daniel LaLiberte a écrit :
>>
>> I see you also posted in the SmartClient forums: http://forums.
>> smartclient.com/showthread.php?t=32363
>>
>> One other person has reported an issue with setImmediate, but we haven't
>> narrowed down the cause, so thanks for posting your additional clue about
>> the effect of SmartClient on Google Charts.
>>
>> There is a use of setImmediate deep in Google Closure libraries that
>> Google Charts depends on, but this has not been a problem for other IE
>> users of the same code.
>>
>> Perhaps SmartClient is applying the workaround for issues with
>> setImmediate that is described in http://codeforhire.com/2013/
>> 09/21/setimmediate-and-messagechannel-broken-on-internet-explorer-10/
>> which basically sets window.setImmedate to undefined.   I haven't tried to
>> dig through the obfuscated ISC_* code you attached, but you might find this
>> is what they are doing.
>>
>> Maybe the load order and execution order of all the code you are using
>> makes a difference.  Can you move the ISC_* code loading up into the HEAD,
>> before the Google Charts code?  If not, you should be able to move the
>> Google Charts code into the BODY after the ISC_* code.  If you have to
>> defer the Google Charts loading until after the page is loaded, see
>> https://developers.google.com/chart/interactive/docs/
>> library_loading_enhancements#enhancedloading and follow the link to
>> "dynamic loading"
>>
>> You might try adding this cross-browser implementation of setImmediate:
>> https://github.com/YuzuJS/setImmediate/blob/master/setImmediate.js
>> Load it after you load your SmartClient code, so that if
>> window.setImmedate is being set to undefined, it will then be updated with
>> this new definition.
>>
>> Please let us know what you learn.
>>
>>
>> On Thu, Mar 5, 2015 at 6:10 AM, Constantin FEIER <
>> [email protected]> wrote:
>>
>>> Hi,
>>>
>>> I am using Google visualization in a SmartClient app.
>>> Since 20 february 2015, charts are not showing anymore in IE11, without
>>> any changes in our app.
>>> There is a red line with this error
>>> Unable to get value of the property "setImmediate" object is null or
>>> undefined
>>> Here is a testcase with a simple piechart.
>>> Without SmartClient js files, chart are showing well.
>>> If i add the 3 js files attached, there is no chart and the red line
>>> appears
>>>
>>>
>>> <!doctype html>
>>> <html>  <head>
>>> <script type="text/javascript" src="https://www.google.com/jsapi";></script>
>>> <script type="text/javascript">
>>>     google.load("visualization", "1", {packages:["corechart"]});
>>>     google.setOnLoadCallback(drawChart);
>>>     function drawChart() {
>>>             var data = google.visualization.arrayToDataTable([
>>>             ['Task', 'Hours per Day'], ['Work',     11], ['Eat',      2], 
>>> ['Commute',  2], ['Watch TV', 2], ['Sleep',    7]
>>>             ]);
>>>             var options = {  title: 'My Daily Activities', is3D:true  };
>>>             var chart = new 
>>> google.visualization.PieChart(document.getElementById('piechart'));
>>>             chart.draw(data, options);
>>>     }
>>> </script>
>>> </head>
>>> <body>
>>>     <div id="piechart" style="width: 900px; height: 500px;"></div>
>>>                     
>>> <script type="text/javascript" src="smartClient/ISC_Core.js"></script>
>>> <script type="text/javascript" src="smartClient/ISC_Foundation.js"></script>
>>> <script type="text/javascript" src="smartClient/ISC_Containers.js"></script>
>>>
>>> </body>
>>> </html>
>>>
>>>
>>>
>>>
>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "Google Visualization API" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at http://groups.google.com/
>>> group/google-visualization-api.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> --
>> Daniel LaLiberte <https://plus.google.com/100631381223468223275?prsrc=2>
>>  - 978-394-1058
>> [email protected]   5CC, Cambridge MA
>> [email protected] 9 Juniper Ridge Road, Acton MA
>>
>  --
> You received this message because you are subscribed to the Google Groups
> "Google Visualization API" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to
> [email protected].
> Visit this group at
> http://groups.google.com/group/google-visualization-api.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Daniel LaLiberte <https://plus.google.com/100631381223468223275?prsrc=2>  -
978-394-1058
[email protected] <[email protected]>   5CC, Cambridge MA
[email protected] <[email protected]> 9 Juniper Ridge
Road, Acton MA

-- 
You received this message because you are subscribed to the Google Groups 
"Google Visualization API" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-visualization-api.
For more options, visit https://groups.google.com/d/optout.

Reply via email to