sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    WebDialog.set_html fails under Safari 5.0.6

    Scheduled Pinned Locked Moved Developers' Forum
    111 Posts 7 Posters 17.2k Views 7 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • thomthomT Offline
      thomthom
      last edited by

      @dan rathbun said:

      @unknownuser said:

      I remember that execute_script suffered from a string size limitation on Mac?

      Well there's always injecting a external script file.

      dlg.execute_script %[
      >   var xx = document.createElement('script');
      >   xx.type = 'text/javascript';
      >   xx.src = "file;//some/path/to/script.js";
      >   document.getElementsByTagName('head')[0].appendChild(xx)
      > ]
      

      But we wanted to send the HTML itself to the webdialog for replacement as a way to avoid temp files.

      Thomas Thomassen — SketchUp Monkey & Coding addict
      List of my plugins and link to the CookieWare fund

      1 Reply Last reply Reply Quote 0
      • Dan RathbunD Offline
        Dan Rathbun
        last edited by

        Right ok.. same kind of deal.

        assume you have a block of html text in Ruby htmltext

        1. You open the dialog with a blank body template using set_file()

        2. Then create a Js var called bodytext (as above)

        3. Successively...
          ... take chucks of htmltext and assign to htmlpart
          ... and use execute_script("body_text += '#{htmlpart}'")
          .. or similar until all the Ruby-side text has been transfered.

        4. then call execute_script("document.body.innerHtml=body_text;")

        I'm not here much anymore.

        1 Reply Last reply Reply Quote 0
        • thomthomT Offline
          thomthom
          last edited by

          Yea, I was planning on adding a large data pump to my library anyway. But I need to work out what the data limit is... Hopefully I can just send a very large string from ruby and compare it in JS.

          Thomas Thomassen — SketchUp Monkey & Coding addict
          List of my plugins and link to the CookieWare fund

          1 Reply Last reply Reply Quote 0
          • thomthomT Offline
            thomthom
            last edited by

            Actually, what I really hope for is that at_exit works under OSX.

            Thomas Thomassen — SketchUp Monkey & Coding addict
            List of my plugins and link to the CookieWare fund

            1 Reply Last reply Reply Quote 0
            • Dan RathbunD Offline
              Dan Rathbun
              last edited by

              @thomthom said:

              Cursed - this is more troublesome than I thought.
              Under Windows I can clean up all temps by using AppObserver.onQuit - but under OSX it appear to never trigger.

              So then there's no way under OSX that my proposed workaround for the Instance Observer can work for SU8.

              Makes me wonder if "they" just turned off the onQuit() callback (for OSX,) as a 'quick-temporary-fix' for the BugSplat! on close issue?

              I'm not here much anymore.

              1 Reply Last reply Reply Quote 0
              • thomthomT Offline
                thomthom
                last edited by

                @dan rathbun said:

                Makes me wonder if "they" just turned off the onQuit() callback (for OSX,) as a 'quick-temporary-fix' for the BugSplat! on close issue?

                hm... when was that fix issued? I'd like to try with an older SU to check.

                Thomas Thomassen — SketchUp Monkey & Coding addict
                List of my plugins and link to the CookieWare fund

                1 Reply Last reply Reply Quote 0
                • Dan RathbunD Offline
                  Dan Rathbun
                  last edited by

                  @thomthom said:

                  @dan rathbun said:

                  Makes me wonder if "they" just turned off the onQuit() callback (for OSX,) as a 'quick-temporary-fix' for the BugSplat! on close issue?

                  hm... when was that fix issued? I'd like to try with an older SU to check.

                  I am speculating... remember during v8 beta the Instance Observer OSX BugSplat! on close without saving the model first?
                  It was not fixed for 8.0M1.

                  However you have that onQuit() works for v7.1 on OSX.

                  I'm not here much anymore.

                  1 Reply Last reply Reply Quote 0
                  • thomthomT Offline
                    thomthom
                    last edited by

                    I tried onQuit and at_exit on OSX SU 7.1.6859 and I could not get them to trigger either...

                    Thomas Thomassen — SketchUp Monkey & Coding addict
                    List of my plugins and link to the CookieWare fund

                    1 Reply Last reply Reply Quote 0
                    • Dan RathbunD Offline
                      Dan Rathbun
                      last edited by

                      It's a bit confusing to have your Observer table combined with both platforms, have you thot about having a table for each platform?

                      I'm not here much anymore.

                      1 Reply Last reply Reply Quote 0
                      • Dan RathbunD Offline
                        Dan Rathbun
                        last edited by

                        And just to be clear, your testing using the Ruby ver that ships with the Sketchup version? (v1.8.5-p0)

                        What happens if your change the Sketchup Ruby symbolic links on the Mac to a newer Ruby install (v1.8.6-p287 or higher?)

                        I'm not here much anymore.

                        1 Reply Last reply Reply Quote 0
                        • Dan RathbunD Offline
                          Dan Rathbun
                          last edited by

                          And also you might try to trap the SystemExit exeception, which is supposed to be called, unless Google used exit!() in which case your out of luck.

                          I'm not sure if Kernel.set_trace_func will catch a call to exit!() or not.

                          I'm not here much anymore.

                          1 Reply Last reply Reply Quote 0
                          • thomthomT Offline
                            thomthom
                            last edited by

                            @dan rathbun said:

                            It's a bit confusing to have your Observer table combined with both platforms, have you thot about having a table for each platform?

                            Wouldn't having two tables make it harder to get an overview of what observers has issues?

                            @dan rathbun said:

                            And just to be clear, your testing using the Ruby ver that ships with the Sketchup version? (v1.8.5-p0)

                            What happens if your change the Sketchup Ruby symbolic links on the Mac to a newer Ruby install (v1.8.6-p287 or higher?)

                            Yes - I only test SketchUp out of the box. And that is complicated and time-consuming enough...

                            Thomas Thomassen — SketchUp Monkey & Coding addict
                            List of my plugins and link to the CookieWare fund

                            1 Reply Last reply Reply Quote 0
                            • Dan RathbunD Offline
                              Dan Rathbun
                              last edited by

                              I wish someone could make a one-click dmg installer for Sketchup Mac that would bring their Ruby up to par with the PC edition.

                              I'm not here much anymore.

                              1 Reply Last reply Reply Quote 0
                              • fredo6F Offline
                                fredo6
                                last edited by

                                The problem seems to be in all versions after 5.0.6

                                A user encountered the problem on Safari Version 5.1 (7534.48.3): images not shozing and Update (via xmlhttprequest not working)

                                Fred

                                1 Reply Last reply Reply Quote 0
                                • P Offline
                                  Pout
                                  last edited by

                                  I'm a bit confused here.

                                  So if you would use set_file then all should work fine?
                                  I'm using that method and it loads a html file but the linked js files inside do not seem to work.
                                  They do however work when just opening the html file with Safari. (So not in a webdialog)

                                  1 Reply Last reply Reply Quote 0
                                  • thomthomT Offline
                                    thomthom
                                    last edited by

                                    @pout said:

                                    I'm a bit confused here.

                                    So if you would use set_file then all should work fine?
                                    I'm using that method and it loads a html file but the linked js files inside do not seem to work.
                                    They do however work when just opening the html file with Safari. (So not in a webdialog)

                                    Yes, set_file should work. Got a sample of what is not working?

                                    Thomas Thomassen — SketchUp Monkey & Coding addict
                                    List of my plugins and link to the CookieWare fund

                                    1 Reply Last reply Reply Quote 0
                                    • P Offline
                                      Pout
                                      last edited by

                                      here you go
                                      unzip, put the rb in plugisn and the Grid directory to
                                      thx for testing!


                                      test.zip

                                      1 Reply Last reply Reply Quote 0
                                      • P Offline
                                        Pout
                                        last edited by

                                        and in SU you can launch by TESTOLA.testing in ruby console

                                        1 Reply Last reply Reply Quote 0
                                        • D Offline
                                          driven
                                          last edited by

                                          With your WebDialog in Safari 5.0.6 Web Inspector shows this error

                                          TypeError: 'null' is not an object (evaluating 'navigator.userAgent.match(/(?:KHTML\D*|VERSION\D*)(\d[\d\.]+)/i)[1]')

                                          I'd look into that to start.

                                          john

                                          learn from the mistakes of others, you may not live long enough to make them all yourself...

                                          1 Reply Last reply Reply Quote 0
                                          • thomthomT Offline
                                            thomthom
                                            last edited by

                                            hmm... why are you sniffing the userAgent string? It's preferred to test for features instead of testing the user agent string.

                                            Thomas Thomassen — SketchUp Monkey & Coding addict
                                            List of my plugins and link to the CookieWare fund

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 6 / 6
                                            • First post
                                              Last post
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement