Đã kết thúc tìm ra vấn đề là gì. Trong quá khứ, ID trình duyệt mà máy chủ sẽ thấy cho Safari là "Safar1Plus". Điều này tương quan với các mục trong tập tin compat.browser như được liệt kê:
<browser id="Safari2" parentID="Safari1Plus">
<controlAdapters>
<adapter controlType="System.Web.UI.WebControls.Menu" adapterType="" />
</controlAdapters>
</browser>
Safari 7.1 không còn quan hệ với ID trình duyệt này, và hiện đã được cập nhật thành "Safari60". Tôi tìm thấy điều này bằng cách thực hiện một lệnh đơn giản trong javascript trên trang SharePoint tùy chỉnh của tôi:
alert("<%=Request.Browser.Id %>");
Điều này cho tôi biết ID trình duyệt mới mà máy chủ thấy. Nó báo cáo trở lại bây giờ là "Safari60". sau đó tôi quay trở lại vào file compat.browser dưới ứng dụng web của tôi và thêm một trình duyệt mới và tham chiếu ID trình duyệt mới:
<browser refID="Safari60">
<controlAdapters>
<adapter controlType="System.Web.UI.WebControls.Menu" adapterType="" />
</controlAdapters>
</browser>
Khi tôi lưu file compat.browser với bổ sung mới này, Safari 7.1 bây giờ vui vẻ và hiển thị ASPMenu như trong quá khứ. Hy vọng rằng sẽ giúp!
Vị trí mặc định của tập tin định nghĩa trình duyệt SP là “C: \ Inetpub \ wwwroot \ wss \ VirtualDirectories \\ App_Browsers \ compat.browser”
Nguồn
2014-09-19 20:30:22
Điều đáng lưu ý rằng đây sửa chữa vấn đề tương tự trong SharePoint 2007 với Safari 6.2. Có một câu trả lời đã đề cập đến điều này đã làm việc với năm 2007 đã bị xóa. Tôi sẽ không tìm thấy một giải pháp cho vấn đề của tôi với SP 2007 nếu tôi không thấy câu trả lời đó. – stoj