Cập nhật: Lỗi này đã được xác nhận bởi ít nhất hai lỗi khác. Ngay cả khi bạn không đọc bài đăng đầy đủ của tôi - nếu bạn đang đọc và sử dụng JQuery 1.3.1 thì ngừng sử dụng nó nếu bạn đang dựa vào bất kỳ trình xử lý nào bạn muốn thực thi khi DOM hoàn tất nhưng trước hình ảnh của trang đã tải.JQuery đang chờ tải hình ảnh trước khi thực hiện tài liệu.ready
Update2: Cảm ơn Tom (id người dùng 20!) Để đăng link to the ticket trên trình theo dõi lỗi jQuery.
Update3 - 2009/01/28: Sự cố đã được giải quyết đúng cách (đối với những người hoàn nguyên về 1.2.6 không phải là một tùy chọn). Đối với bất kỳ ai hiện đang sử dụng 1.3.1 và cần khắc phục ngay lập tức, bạn có thể đọc câu trả lời được chấp nhận bên dưới để biết hướng dẫn. Cảm ơn John.
Tôi chỉ nâng cấp lên JQuery 1.3.1, và nó đã cho tôi vài giờ để nhận ra rằng yêu
$(function() { ... }
cú pháp của tôi bây giờ đang đợi cho toàn bộ trang để tải (bao gồm cả hình ảnh) trước khi thực hiện thân hàm. Tôi đã nhìn thấy strange behavior khi cố gắng tích hợp các menu của Yahoo. (May mắn thay tôi đã có một số hình ảnh tải chậm trên trang của tôi mà làm cho tôi nhận thức được vấn đề)!
Tôi đã thực hiện một tệp thử nghiệm vì tôi đã tìm ra điều gì đó phức tạp hơn đang diễn ra, nhưng tôi vẫn có các triệu chứng tương tự ngay cả với tệp đơn giản này.
phiên bản<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
<script>
$(function() {
alert("Ready");
});
</script>
</head>
<body>
<img src="<PATH_TO_DYNAMIC_IMAGE>_1.jpg" />
<img src="<PATH_TO_DYNAMIC_IMAGE>_2.jpg" />
<img src="<PATH_TO_DYNAMIC_IMAGE>_3.jpg" />
<img src="<PATH_TO_DYNAMIC_IMAGE>_4.jpg" />
</body>
khác nhau của JQuery có kết quả khác nhau:
- gì sẽ xảy ra trong phiên bản 1.2.6 là hộp cảnh báo được hiển thị ngay lập tức và sau đó tôi nhìn thấy những hình ảnh tải đằng sau nó (dự kiến và ghi nhận hành vi) .
- Điều gì xảy ra trong phiên bản 1.3.1 là tất cả ảnh đều tải và chỉ khi đó hộp cảnh báo sẽ hiển thị.
Điều gì đang diễn ra! Đây có phải là một tính năng mới (tôi không thể tưởng tượng tại sao) hoặc một lỗi?
Chú ý: Điều này chỉ có vẻ là một vấn đề trong IE và không firefox
Xin lỗi tôi không có một tập tin hình ảnh sống động đó là truy cập công khai để làm cho nó dễ dàng hơn cho những người khác để thấy điều này. Nếu bạn muốn thử nghiệm nó ra tôi đề nghị sử dụng một tập tin hình ảnh lớn chọn ngẫu nhiên từ hình ảnh google và xóa bộ nhớ cache của bạn.
Tôi đang gặp sự cố tương tự EXACT với phiên bản mới nhất của jQuery. Vui lòng giữ câu hỏi này được cập nhật dựa trên bất kỳ phản hồi nào bạn nhận được. – Tom
@tom chắc chắn sẽ. tôi gửi email và twitter john resig ban đầu đã viết JQuery. cá nhân tôi không vội vàng cho một bugfix (tôi trở lại 1.2.6) nhưng họ thực sự cần phải đưa phiên bản xuống như phiên bản phát hành trên jquery.com! –
@Simon - Tôi đã gửi một tấm vé chiều nay về vấn đề này. Ah, những niềm vui của phần mềm tự do;) Họ sẽ làm cho nó được sửa chữa đủ sớm, tôi chắc chắn - các nhà phát triển giỏi trong nhóm - nhưng nó hút tôi vì tôi không thể quay trở lại 1.2.6 = T – Tom