2012-04-02 29 views
24

chức năng dỡ tải trong jQuery hoạt động tốt trong Firefox nhưng không có trong chrome và safari. hãy kiểm tra fiddle này trong chrome và Firefox. http://jsfiddle.net/jeevankk/Gywnw/2/. Thông báo khi trang được làm mới.Tại sao tải jQuery không hoạt động trong chrome và safari?

$(window).unload(function() { 
     alert("Unload"); 
});​ 
+2

thể trùng lặp của [window.onunload không hoạt động đúng trong trình duyệt Chrome. Bất kỳ ai có thể giúp tôi không?] (Http://stackoverflow.com/questions/7794301/window-onunload-is-not-working-properly-in-chrome-browser-can-any-one-help-me) –

+4

hộp thoại bị chặn/ngăn chặn trong "beforeunload" (ngoại trừ lời nhắc beforeunload) và "unload" các sự kiện. kiểm tra giao diện điều khiển của bạn, nó nói tất cả. – Joseph

+0

@ Joseph bạn nói đúng. đó là vấn đề – Jeevan

Trả lời

18

tôi thấy Nhận xét của Joseph là câu trả lời đúng, Vì vậy, đăng câu trả lời này.

Các hộp thoại bị chặn/ngăn chặn trong "beforeunload" (ngoại trừ lời nhắc trước khi tải trước) và "dỡ bỏ" sự kiện. Có thể được xác nhận bằng cách kiểm tra giao diện điều khiển của bạn.

+1

điều này không thực sự giống như câu trả lời chính xác cho câu hỏi này ... –

6

Điều này là do sự kiện dỡ bỏ không phải là một phần của bất kỳ tiêu chuẩn

https://developer.mozilla.org/en/DOM/window.onunload

kiểm tra dưới cùng của trang tôi chỉ cần liên kết đến.

+0

Ok, Có anyway tôi có thể tìm thấy khi một tab được đóng trong chrome và safari? – Jeevan

+0

Xin lỗi tôi không chắc chắn nếu có một cách liên tục để làm điều này, nhưng trên câu hỏi trùng lặp @ David đã chỉ ra có một gợi ý rằng họ có thể sử dụng sự kiện pagehide http://stackoverflow.com/a/9909822/199111 Các hộp thoại – Robert

18

Điều này sẽ hoạt động để hiển thị xác nhận khi người dùng rời đi, đây cũng không phải là một phần của bất kỳ tiêu chuẩn nào.

$(window).on('beforeunload ',function() { 
    return 'Are you sure ?'; 
}); 
2

chức năng dỡ bỏ của jquery có một số vấn đề với browsers..refer liên kết sau http://bugs.jquery.com/ticket/5538

bạn có thể xây dựng trên các vấn đề để chúng ta có thể tìm thấy một số công việc xung quanh ??

+0

bị chặn/ngăn chặn trong "beforeunload" (ngoại trừ lời nhắc trước khi tải trước) và "dỡ bỏ" các sự kiện. kiểm tra bảng điều khiển của bạn, nó nói rằng tất cả Joseph đã đúng. – Jeevan

1

bạn có thể sử dụng onfocusout trên cơ thể .. nhưng tôi sẽ không khuyên bạn nếu bạn đang cố gắng sử dụng một cái gì đó giống như một cảnh báo, cuộc hành quân này, yêu cầu người dùng không phải rời khỏi trang web của bạn ..

5

Tải xuống của jQuery hoạt động tốt trong Chrome, ngoại trừ Chrome không cho phép cảnh báo bên trong nó. Tôi đã sử dụng nó để đặt cookie. Và nếu nó hoạt động với Chrome, hy vọng nó cũng hoạt động trong Safari.

0

"refresh" hành động trong Firefox không cháy, sự kiện unload.

Thay vào đó, chúng tôi nên sử dụng onbeforeunload.

Xác nhận với Firefox phiên bản 47, Mac OS X

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