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

Safari 7.1中的ASPMenu在SharePoint 2010中未正确呈现,sharepoint,sharepoint-2010,safari,aspmenu,Sharepoint,Sharepoint 2010,Safari,Aspmenu,在Mac和iOS8上发布的Safari 7.1最新版本打破了SharePoint 2010中的ASPMenu控件,还有其他人遇到过问题吗?ASPMenu在之前运行良好,但在更新之后,它决定错误地呈现内容。我已尝试设置Page.ClientTarget=“uplevel”,并修改compat.browser文件以包含Safari的适配器“System.Web.UI.WebControls.Menu”,但这两个选项都无法解决问题 有人能帮忙吗?在Safari更新之前,菜单完全正常工作。谢谢 最终弄明

在Mac和iOS8上发布的Safari 7.1最新版本打破了SharePoint 2010中的ASPMenu控件,还有其他人遇到过问题吗?ASPMenu在之前运行良好,但在更新之后,它决定错误地呈现内容。我已尝试设置Page.ClientTarget=“uplevel”,并修改compat.browser文件以包含Safari的适配器“System.Web.UI.WebControls.Menu”,但这两个选项都无法解决问题


有人能帮忙吗?在Safari更新之前,菜单完全正常工作。谢谢

最终弄明白了问题所在。过去,服务器在Safari中看到的浏览器ID是“Safar1Plus”。这与compat.browser文件中的条目相关,如下所示:

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

Safari 7.1不再绑定到此浏览器ID,现在已更新为“Safari60”。我通过在自定义SharePoint页面上使用javascript执行一个简单命令发现了这一点:

alert("<%=Request.Browser.Id %>");
警报(“”);
这告诉我服务器看到的新浏览器ID。它现在被称为“Safari60”。然后,我回到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\u Browsers\compat.browser”

这是一个非常棒的答案。有关发生这种情况的原因(以及您可能在iOS 8中看到的其他问题)的详细信息,也非常有用。值得注意的是,这在SharePoint 2007和Safari 6.2中修复了相同的问题。有一个答案提到这与2007年一起工作,但被删除了。如果我没有看到这个答案,我就不会找到解决SP 2007问题的方法。