Hi. On Thu, Oct 18, 2012 at 5:50 AM, Laurent Malvert <lmalv...@idbs.com> wrote: > Hello Henrik and Aroma Affymetrix users, > > > I understand you have been in contact with Jay over the integration of > ArrayExplorer within our products, since the last time I wrote to you. > He reported to me some issues with IE9, though you had informed him that the > latest version (3.4.0, from what we gather) should work on most recent > browsers. > > I had a closer look at his current issues, and I did indeed notice some > problems with IE9 (haven't had the chance to test with other browsers > unfortunately, as Jay's environment is behind a rather huge set of security > measures and I don't have access to this client's setup) when we integrated > ArrayExplorer within a product. It works flawlessly in Firefox 15, though. > And from what I can see on the demo pages (http://aroma-project.org/demos/), > it does indeed work perfectly fine in a normal / simple setup, both for IE9 > and FF15. > > I'm not entirely sure what causes this to trigger the problems in our setup. > My original guess was that it could be related to the use of iframes, which > would possibly change some of the security restrictions under certain > conditions (doctype, rendering mode chosen by IE for the surrounding frames > and inner-frames, etc...). Unfortunately I couldn't really reproduce the > problem so far using a simple test case so you can see if for yourself, and > we can't provide you with an access to this customer's internal site for > testing. > > So we tried to troubleshoot our way through this and identified a few issues > and fixes. I can't guarantee we've hunted down everything, as I don't have > much experience with either ArrayExplorer and this integration project. > Nonetheless, here's a list of identified problems and fixes (or things to > consider re-working). I'm sorry I'm not attaching a proper patch, I had to > work these directly on a produced report page and not on the source code > version. > > 1) ScrollBar2d.js:45: > 45: this.marker.style.border = 'solid; black; 2px'; // invalid syntax -> > Invalid Argument error
Thanks for spotting this one. Corrected in next release. > > Problem: This syntax is invalid for CSS styles. Based on circumstances, this > will raise an Invalid Argument error in (at leat) IE. > Fix: this.marker.style.border = '2px solid black;'; > > 2) ArrayExplorer.js:325-328: > 325: var y = findXY(this.image2d.image).y; > 326: var dh = document.body.clientHeight; > 327: var h = (dh - y - 12) + 'px'; > 328: this.image2d.container.style.height = h; // got -1 -> Invalid > Argument error > > Problem: Under some circumstances here, we'll end up with a negative value > for h, which is invalid. > Hack/Fix: I "fixed" it with a simple Math.abs() to be able to move on to the > other errors, but obviously you'd want to look into what's happening. I > assume the problem is in the use of document/body.clientHeight, which may not > be the best approach for all embedding scenarios. Not sure if it is better or not, but at least until one understand this better, one could throw an alert() error message if invalid values are detected; that would bring up the problem to the surface (and hopefully people report rather than get annoyed). > > 3) ArrayExplorer.js:301-305: > 301: var y = findXY(this.image2d.image).y; > 302: var dh = document.body.clientHeight; // this is discard as the next > line overwrites it > 303: var dh = window.innerHeight; // this seemed to return NaN > 304: var h = dh - y - 16; > 305: this.image2d.container.style.height = h + 'px'; // got a string > starting with NaNNaN... -> Invalid Argument error > > Problem: Similar to the previous one. Under some circumstances here, we'll > end up with an invalid value for h (not a number), which is invalid for this > property's assignment. > Hack/Fix: Similar, should work out what the expected outcome is. I used an > hard-coded value as this as sufficient for our purposes at the moment. Same here. I'm also thinking of at least doing: var dh = window.innerHeight; /* If NaN, try fallback solution */ if (isNaN(dh)) { dh = document.body.clientHeight; } I'm certainly not on top of Javascript + DOM + cross-browser support. I guess jQuery or alikes have solved these cross-browser issues. > > > Minor things, really, and I'm not too sure why IE9 would choke on them. I > really assume this is to do with the rendering model it chooses at runtime > for the iframe embedding the report, but so far I couldn't figure out the > exact trigger. > > If I were to have the time to investigate more and reproduce this, I'll try > to wrap up a test case for you and send it to the mailing list with more > details. > But in the meantime, I hope this can help. I appreciate it. Anything that bug fixes/improves/robustifies the Explorers, is great. Thanks, Henrik > > Cheers, > > -- > Laurent Malvert | Senior Software Developer | IDBS > lmalv...@idbs.com | www.idbs.com > > Powering Science for a Better Future > > > The information contained in this email may contain confidential or legally > privileged information. If you are not the intended recipient any disclosure, > copying, distribution or taking any action on the contents of this > information may be unlawful. If you have received this email in error, please > delete it from your system and notify us immediately. Any views expressed in > this message are those of the individual sender, except where the message > states otherwise. IDBS takes no responsibility for any computer virus which > might be transferred by way of this email and recommends that you subject any > incoming E-mail to your own virus checking procedures. We may monitor all > E-mail communication through our networks. If you contact us by E-mail, we > may store your name and address to facilitate communication. > > -- > When reporting problems on aroma.affymetrix, make sure 1) to run the latest > version of the package, 2) to report the output of sessionInfo() and > traceback(), and 3) to post a complete code example. > > > You received this message because you are subscribed to the Google Groups > "aroma.affymetrix" group with website http://www.aroma-project.org/. > To post to this group, send email to aroma-affymetrix@googlegroups.com > To unsubscribe and other options, go to http://www.aroma-project.org/forum/ -- When reporting problems on aroma.affymetrix, make sure 1) to run the latest version of the package, 2) to report the output of sessionInfo() and traceback(), and 3) to post a complete code example. You received this message because you are subscribed to the Google Groups "aroma.affymetrix" group with website http://www.aroma-project.org/. To post to this group, send email to aroma-affymetrix@googlegroups.com To unsubscribe and other options, go to http://www.aroma-project.org/forum/