2010-07-23 13 views
6

Tôi đang gặp một số vấn đề với IE6 người bạn cũ của chúng tôi. The site I'm working on là dành cho một khách hàng khu vực công nên nó phải hỗ trợ IE6. Thanh trượt là tốt trong IE7 +, Firefox, Safari và Chrome. Tôi đã thử tất cả mọi thứ mà tôi có thể nghĩ đến nhưng tôi đang vẽ một khoảng trống! Bạn có thể giúp?Thanh trượt jQuery và các vấn đề IE6

IE6 trên PC. IE6 Screen grab http://citywest.bangtest.co.uk/stackoverflow/ie6.png

Chrome trên máy Mac Chrome on a Mac http://citywest.bangtest.co.uk/stackoverflow/chrome.png

+1

+1 for "vẽ trống " –

Trả lời

1

tôi nhìn thấy một lỗi trên trang web với IE 6, dubugging trang với trình biên tập kịch bản ms dẫn tôi đến tập tin này:

http://citywest.bangtest.co.uk/sites/all/themes/citywest/inc/js/jquery.custom.js

và dòng này:

$().newsTicker(options); 

Tôi cũng có thể cho bạn biết rằng nhiều dòng $(document).ready( dòng trong cùng một tài liệu js không cần thiết trong tệp đó. Bạn nên củng cố những tuyên bố đó.

Ie6 không cung cấp cách tuyệt vời để gỡ lỗi, nhưng vì ie6 nói rằng bạn đã gặp lỗi trên dòng đó, đây là nơi tốt để bắt đầu tìm kiếm.

-2

Không mã cho IE 6. Đó là trình duyệt lỗi thời và hệ điều hành cuối cùng được giao là Windows XP. Một số mã mới hơn không hoạt động tốt với IE6. Nếu bạn làm cho nó hoạt động, bạn phải tạo hacks cho nó để hiển thị mã một cách chính xác và dành nhiều giờ làm như vậy. Mã cho IE8 và Firefox3 +, sử dụng javascript để phát hiện phiên bản trình duyệt và tin nhắn để cập nhật trình duyệt của họ.

+4

@kinijite Âm thanh như OP không có lựa chọn. Nó có thể được ủy nhiệm trong hợp đồng của họ hoặc một cái gì đó như thế. –

+0

@Peter - phản hồi hoàn hảo và có trong hợp đồng. @Kinjite - IE6 hút nhưng tôi phải làm việc với nó về công việc này. – Shaun

+1

@Shaun và kinjite: và không sử dụng tính năng phát hiện trình duyệt, sử dụng tính năng phát hiện thay thế, xem [Tính năng phát hiện không phải là phát hiện trình duyệt] (http://www.nczonline.net/blog/2009/12/29/feature-detection -Không-trình duyệt-phát hiện /). –

4

Tôi không thể không chuyển sang vấn đề "IE6 hasLayout" cũ (vì đây dường như là lỗi trực quan). Nó có thể là giá trị thời gian của bạn để kiểm tra các yếu tố của bạn để đảm bảo rằng họ có "hasLayout" - hầu hết các vấn đề rendering tôi đã chạy vào cho IE6 rằng "làm cho không có ý nghĩa" liên quan đến tài sản này.

http://www.satzansatz.de/cssd/onhavinglayout.html

Một cách nhanh chóng và dơ bẩn để xem nếu vấn đề liên quan đến "hasLayout" là thêm phi tiêu chuẩn, IE độc quyền sở hữu CSS "zoom: 1;". Điều này sẽ KHÔNG xác nhận, nhưng nó sẽ cấp "hasLayout" cho bất kỳ phần tử nào mà nó được áp dụng. Chỉ cần đặt nó trên tất cả các yếu tố liên quan, và nó có thể khắc phục vấn đề ... Sau đó, trang bị với các giải pháp khủng khiếp, bạn có thể tìm ra cách để làm cho nó xác nhận :)

/* in your css */ 
.my_box { 
    zoom: 1; 
}