Safari 7.1中的ASPMenu无法在SharePoint 2010中正确呈现

时间:2014-09-19 14:36:45

标签: sharepoint sharepoint-2010 safari aspmenu

是否有其他人遇到过Mac和iOS8上最新版本的Safari 7.1在SharePoint 2010中破坏ASPMenu控件的问题? ASPMenu工作正常,但现在更新后它决定不正确地呈现内容。我已经尝试设置Page.ClientTarget =" uplevel",以及修改compat.browser文件以包含适配器" System.Web.UI.WebControls.Menu"对于Safari,但这两种选择都没有帮助解决问题。

有人可以帮忙吗?在Safari更新之前,菜单完全正常。谢谢!

1 个答案:

答案 0 :(得分:16)

结束找出问题所在。过去,服务器为Safari看到的浏览器ID是#34; Safar1Plus"。这与列出的compat.browser文件中的条目相关:

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

Safari 7.1不再与此浏览器ID绑定,现已更新为&#34; Safari60&#34;。我通过在自定义SharePoint页面上的javascript中执行一个简单的命令来发现这一点:

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

这告诉我服务器看到的新浏览器ID。它现在报告为&#34; Safari60&#34;。然后我回到我的web应用程序下的compat.browser文件中并添加了一个新的浏览器并引用了新的浏览器ID:

<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”