Did Safari or IOS 8 break your SharePoint 2010 site?

Did you upgrade your Apple device to IOS 8, or did your Mac update Safari recently? Once that was done, did your SharePoint 2010 site look like this image?

menu_busted

The issue is that the browser user agent sniffing done by ASP.NET looks for the string “60” in the AppleWebKit version portion of the User Agent when attempting to sniff out a (now) ancient version of Safari, and the new version of Safari on  Mac OS X or iOS 8 looks like this: AppleWebKit/600.1.17 (this is the desktop Safari version for this example – iOS is similar)

See a problem? It found the 60. Right there in the beginning of the 600.

Because it doesn’t feel comfortable with that version of Safari (remember, it thinks this brand new version is actually a really old version), a setting regarding the control adapter (a sort of ASP.NET plug-in, if you’ll excuse the poetic license) that handles the Asp:Menu for SharePoint’s navigation isn’t applied properly.

The fix?

In your web site’s inetpub document root (check IIS manager to see which folder belongs to your SharePoint site), find the App_Browsers folder, and just drop in this file. Due to another ASP.NET bug, you’ll also need to “touch” an existing file in that folder – so just open the compat.browser file already there, make an edit (like adding a space to the end) and save it. Once that’s done, reloading your browser on the affected devices should show the working fix.