Search Issue Tracker
Not Reproducible
Votes
0
Found in
3.5
Issue ID
467272
Regression
No
UnityObject.js infinite loop in detecting installed Web Player when Chrome 'Click to Play' plugin option is set
Browser support detection for Unity through the UnityObject.js script has a flaw. If the user has a plugin that prevents the automatic loading of plugins (Unity/Flash/etc), or has turned on "Click to play" or "Block all" in Chrome's Content Settings panel, UnityObject.js will endlessly attempt to load and unload a small Unity scene. The small scene is used for determining the capabilities of the particular install, most notably the version number.
Javascript can be used to determine whether Unity is installed or not without loading an actual Unity scene. Instead of telling a user who has already installed Unity to install it, the page should have a separate message stating that Unity is blocked, and provide a clickable "Load Anyway" link that will load the scene normally. Those users with some click to play functionality would then only need to click again. I might also suggest linking to a utility site that shows users how to disable the plugin blocking for this particular site if they don't have click to play capabilities. Something like what they do for http://activatejavascript.org/
I have attached the code for my detection suite that I used to determine Unity installs, Flash capabilities, and other things. I have disabled the code that sends the information to our servers, and instead only displays its information directly to the page. You need to run the index.html page from within a server (local or remote) due to Flash access rules. Try running this page with Chrome's Click to play feature on.
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Prefab override popup is cropped/positioned incorrectly when more than one display is used and a higher display Scale is set
- Opening a dropdown on a small screen results in its instant closing when mouse cursor is pressed where the dropdown is going to be opened
- Only "ArgumentNullException: Value cannot be null" is displayed instead of all the actual errors when opening a project with numerous compilation errors
- MultiColumnListView and MultiColumnTreeView do not change selection on first input when focus is set by code
- SerializedProperty.DataEquals is returning false when SerializedProperty.EqualContents return true
Add comment