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