Các ý chính sau: https://gist.github.com/1876791 (mượn từ bản demo trong this question) là một ví dụ đơn giản chết của việc sử dụng của window.onbeforeunload
trong js.Safari vẫn "bốc" khi window.onbeforeunload trả về false
Vấn đề chúng tôi có như sau (xảy ra với Safari 5.1.3 và không mới nhất phiên bản Chrome):
- Truy cập trang này: http://www.4guysfromrolla.com/demos/OnBeforeUnloadDemo1.htm
- Bấm vào một trong các liên kết, bạn sẽ nhận được thông báo hỏi bạn có thực sự muốn rời khỏi trang này
- Nhấp vào "Ở lại trang"
- Tải lại trang bằng cách sử dụng
cmd-R
. Bạn sẽ được hỏi một lần khác nếu bạn thực sự muốn rời khỏi trang - Nhấp vào "Ở lại trang".
- Safari vẫn ở trạng thái "đang tải", với thanh tiến trình hiển thị như thể nó đang tải trang tiếp theo.
Đây có phải là lỗi từ Safari không? Có cách nào để vượt qua vấn đề này không?
Thật kỳ lạ, bởi vì ngay cả khi cố gắng window.stop() sẽ không làm cho Safari ngừng giả vờ làm mới trang. Tôi đoán đó là một lỗi, hãy thử báo cáo cho [webkit guys] (http://www.webkit.org/quality/reporting.html) – Roberto
Điều đó cũng xảy ra nếu tôi làm mới nhiều lần.Tôi không cần phải bấm vào một trong các liên kết. Tôi đang chạy Safari 5.1.2 trên máy tính. –