Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    FacetChart in Internet Explorer 8

    SmartGWTEE 4.1p/4.1d
    I've noticed that FacetChart does not work properly with IE8 in some cases.

    Even in the simpleChart in showcase crashes (http://smartclient.com/smartgwtee/showcase/).

    The issue occurs only in some machines. Is there any plugin/addon that should be added or removed?
    Attached Files

    #2
    We've never seen an IE8 install where Charts just fail as you've shown. Let us know if you can isolate whatever third-party software is at fault.

    Comment


      #3
      I've noticed till now that there are at least two issues in IE8.

      1. The first issue occurs on ISC_Drawing.js line 87 character 46. There is a variable named _24 which in IE8 is null at this point. Then a crash occurs. It's ok about this one because a simple if clause testing null before executing fix the error.

      2. Correcting the first issue the chart sometimes is drawn and sometimes not. When it brokes the error points do ISC_Drawing line 40 character 345. The code there is: document.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)")

      Comment


        #4
        Let us know if you can isolate what third-party software is at fault.

        Comment


          #5
          IE8 works fine for me also.
          Try running in safe mode: http://www.windows-help-support.com/2011/01/how-to-run-internet-explorer-in-safe.html

          Comment


            #6
            I think I've solved

            I started a virtual machine and installed Windows XP from scratch just to be sure that no third party software affects the tests and in IE8 there was still a crash.

            So, I started fixing the first error stated at my previous post (item "1.").

            As I stated above at the item "2." there is a potencial error at ISC_Drawing.js.
            Scenario: There is a page at the system I'm working on where multiples layouts containing FacetCharts are created/destroyed dynamically. Therefore, the code snippet " document.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)") " is called as the user interacts with the interface. After some interactions a JavaScript error "Invalid argument" occurs pointing to the line where the snippet is located (ISC_Drawing - line 345, char 345).

            I did a research and found at MSDN site that this is an known issue with createStyleSheet(). In the section Remarks in http://msdn.microsoft.com/en-us/library/ms531194%28VS.85%29.aspx there is a workaround to avoid the error. To sum up, the problem is that you can only create up to 31 stylesheets (Newer browsers like IE9 to 11, Chrome and Firefox might have some native workaround for this issue). So, i fixed the error avoiding creating a stylesheet everytime (checking if there is already one and adding the rule to it).

            With some simple tests after this two fixes I don't get anymore errors. But I will still continue with some advanced tests to assure the fixes are enough.

            Isomorphic, can you validate/include this fixes in the next release?

            Thanks in advance!

            Comment


              #7
              This isn't making much sense..

              You first stated that the product sample crashed. So that's not actually true then, right?

              And the actual problem you're reporting is that if a page includes 30+ stylesheets in the page, dynamic stylesheet insertion can fail?

              Are you still claiming any other issues? You refer to an item 1 and 2 but you don't seem to have reported two issues.

              Comment


                #8
                Yes, the product sample crashes in some Windows XP machines with IE8. The screenshot I attached at the first post in this topic shows it happening.

                These are the two issues:

                Originally posted by felipe.silveira View Post
                I've noticed till now that there are at least two issues in IE8.

                1. The first issue occurs on ISC_Drawing.js line 87 character 46. There is a variable named _24 which in IE8 is null at this point. Then a crash occurs. It's ok about this one because a simple if clause testing null before executing fix the error.

                2. Correcting the first issue the chart sometimes is drawn and sometimes not. When it brokes the error points do ISC_Drawing line 40 character 345. The code there is: document.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)")
                Item 1 - Occurs only in some Windows XP machines with IE8 (Occurs even in the showcase);
                Item 2 - Occurs in all machines with IE8 (doesn't occurs in the showcase);

                On those machines that even the sample crashes, when I fix the Item 1, I can navigate in the system until Item 2 occurs.

                In the code I've copied and pasted a stylesheet is created. As I use the system this code runs several times until it crashes.

                Comment


                  #9
                  We've got exactly zero other reports similar to your #1 and your attempted fix may be masking some other problem.

                  You never mentioned your exact version so your line numbers aren't useful, but if you can point to the affected code by using the *Debug .gwt.xml modules we may be able to comment.

                  Comment


                    #10
                    I've mentioned SmartGWTEE 4.1p/4.1d in the first post. But, to be more specific the version of ISC_Drawing is:
                    Version v9.1p_2014-05-29/Pro Deployment (2014-05-29)

                    How can I use the *Debug.gwt.xml modules?

                    Comment


                      #11
                      You always need to post your full version including the date stamp. The forums software specifically reminds you of this every time you go to post.

                      To use the Debug modules just change your <inherits> tag to use the suffix "Debug".

                      Comment


                        #12
                        Ok, I'll try running here. It isn't clear for me. Is the version in the previous post enough (Version v9.1p_2014-05-29/Pro Deployment (2014-05-29))?

                        Comment


                          #13
                          Yes. Again, just read the text that you have to replace in order to post, it even gives a sample of what the correct version string looks like.

                          Comment


                            #14
                            Since I couldn't find a machine with IE8 which I can run the code locally I wrote a java class that do something like my system and crashes in the same point (at ISC_Drawing.js).

                            To use it, just click on the charts and another ones will be dynamically generated.

                            I attached here the EntryPoint class. Could you test it in IE8?
                            Attached Files
                            Last edited by felipe.silveira; 3 Jul 2014, 08:45. Reason: Added more information.

                            Comment


                              #15
                              Please try the next patched build. We've avoided multiple injection of stylesheets to avoid the issue with IE8 running out. We've also put a speculative null check in place related to the other (unreproducible by anyone else) issue.

                              Comment

                              Working...
                              X