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

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

Кто-нибудь может помочь? Меню работало до обновления 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"

Другие вопросы по тегам