最终弄清楚问题是什么。过去,服务器看到的 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>