10

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

任何人都可以帮忙吗?在 Safari 更新之前,菜单运行良好。谢谢!

4

1 回答 1

16

最终弄清楚问题是什么。过去,服务器看到的 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_Browsers\compat.browser”</p>

于 2014-09-19T20:30:22.267 回答