Sketchup 2017 Bug about JavaScript

javascript

#1

After installed Sktchup 2017 the JavaScript code run in Sketchup 2015、Sketchup 2016 and Sketchup 2017 most case unable to get the correct values, JQuery code is aslo.


#2

Got an example of what isn’t working?

I’m guesing this is under Windows?

SU2017 require a newer IE version. The newer IE version is stricter and drop some of the legacy compatibility behaviour. Might be that you are running into issues related to that. But hard to tell without a specific example.


#3

FYI:


#4

Why is SU2017 using a newer IE version? I thought it only used IE for the deprecated WebDialog class anyway.


#5

I recall reading recently, in this forum, that SU2017 is actually using Chromium internally for both Mac and Windows - thus reducing the ways in which their code differs between the two platforms.

But IE11 may still be involved:


#6

Because …

(1) some features still use UI::WebDialog interfaces, and …

(2) 3rd-party web features not under Trimble’s control (like the Google Maps API) are dropping support for older versions of MSIE. In the case of Google Maps (ie, SketchUp’s Add Location feature,) they have been displaying a warning for any IE < v10. This means they’ll soon switch off earlier support.

And as 11 is the last version, they thought they’d just update from 9 to 11, and get it all over with now, rather than update to 10, and then need to update again to 11 in a cycle or two.

ADD: If they did not do this, then Add Location would be broken in all SketchUp versions. So they have to fix it going forward. It will soon be broken in older versions that never install SU2017. (And it should mean that any old SketchUp version running on XP is “up the creek”, as XP can only run IE8 max.)


#7

Now, I know what you are really getting at …

Why didn’t they leave the browser emulation as is (at IE9) and switch Add Location and other 3rd-party features over to the HtmlDialog Chromium interface ?


#8

That’s what I wonder too. I thought IE was only used for the deprecated web dialogs and then it wouldn’t make much sense to switch to a newer version. Maybe they run out of time to use Chromium for all native internal browser.


#9

Yes, I think it was time. Not enough time to test those features with the new Chromium dialogs.


#10

…and maybe not enough time to test the new IE version either.

Well, I hope a maintenance release could change these dialogs to use Chromium and revert IE for the deprecated web dialogs so they work as before they got deprecated.


#11

That is correct. Since Chromium is all async there isn’t an easy switch. One have to rewrite the communication. (And also one have to address all the rendering differences that might potentially appear. Making the switch non-trivial.