2014-09-19 17 views
10

Có ai khác đã gặp sự cố với bản phát hành Safari 7.1 mới nhất trên Mac và iOS8 có ngắt kiểm soát ASPMenu trong SharePoint 2010 không? ASPMenu hoạt động tốt trước khi bàn tay, nhưng bây giờ sau khi cập nhật, nó đã quyết định hiển thị nội dung không chính xác. Tôi đã thử thiết lập Page.ClientTarget = "uplevel", cũng như sửa đổi tệp compat.browser để bao gồm bộ điều hợp "System.Web.UI.WebControls.Menu" cho Safari, nhưng không có tùy chọn nào giúp khắc phục sự cố.ASPMenu trong Safari 7.1 Không hiển thị đúng trong SharePoint 2010

Có ai giúp được không? Menu hoạt động hoàn toàn tốt trước khi cập nhật Safari. Cảm ơn!

+0

Đ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

Trả lời

16

Đã 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”

+0

Đây là một câu trả lời tuyệt vời. Để biết thêm thông tin về lý do tại sao điều này xảy ra (và trên các vấn đề khác mà bạn có thể thấy với iOS 8), http://stackoverflow.com/a/25979199/3486353 cũng thực sự hữu ích. –

Các vấn đề liên quan