ASPMenu в Safari 7.1 Неправильное отображение в SharePoint 2010

Кто-нибудь еще столкнулся с проблемой с новейшей версией Safari 7.1 на Mac и iOS8, которая разбивает элемент управления ASPMenu в SharePoint 2010? ASPMenu работал хорошо, но теперь, после обновления, он решил неправильно отобразить содержимое. Я попытался установить параметр Page.ClientTarget = "uplevel", а также изменить файл compat.browser, чтобы включить адаптер Safari в System.Web.UI.WebControls.Menu, но ни один из вариантов не помогает исправить проблему.

Может ли кто-нибудь помочь? Перед обновлением Safari меню полностью прекратилось. Спасибо!

Ответ 1

Закончилось выяснить, в чем проблема. Раньше идентификатор браузера, который сервер видел для Safari, был "Safar1Plus". Это соотносится с входом в файле compat.browser, как указано:

<browser id="Safari2" parentID="Safari1Plus">
    <controlAdapters>
        <adapter controlType="System.Web.UI.WebControls.Menu" adapterType="" />
    </controlAdapters>
</browser>

Safari 7.1 больше не связывается с этим идентификатором браузера и теперь обновлен до "Safari60". Я нашел это, выполнив простую команду в javascript на моей странице SharePoint:

alert("<%=Request.Browser.Id %>");

Это сообщило мне новый идентификатор браузера, который видит сервер. Теперь он сообщил, что "Safari60". Затем я вернулся в файл compat.browser под своим веб-приложением и добавил новый браузер и ссылался на новый идентификатор браузера:

<browser refID="Safari60">
    <controlAdapters>
        <adapter controlType="System.Web.UI.WebControls.Menu" adapterType="" />
    </controlAdapters>
</browser>

Как только я сохранил файл compat.browser с этим новым дополнением, Safari 7.1 теперь был доволен и отрисовал ASPMenu, как это было в прошлом. Надеюсь, это поможет!

Местоположение по умолчанию файла определения браузера SP находится в папке "C:\Inetpub\wwwroot\wss\VirtualDirectories\\App_Browsers\compat.browser"