Nếu bạn thực sự cần đến nó, bạn không thể chỉ nhận được tất cả các liên kết, hình thức và đối tượng DOM có một handler thay đổi url và làm cho những chờ đợi cho đến khi bạn đã làm những gì bạn muốn. Đối với các liên kết, bạn nhận chúng bằng getElementsByTagName, kiểm tra xem href có bắt đầu bằng gì không, nhưng chỉ # và thêm hàm onbeforeunload của bạn thêm onclick (sẽ được gọi trước khi xem href). Tương tự cho các biểu mẫu nhưng với onsubmit. Và cuối cùng, đối với các yếu tố thay đổi href bằng JavaScript, bạn nên đảm bảo khi bạn thêm lsitener mà bạn gọi hàm onbeforeunlaod (hoặc, nếu bạn sử dụng trình nghe DOM0 hoặc DOM1, bạn có thể thêm một số lớp và sau đó sử dụng Kịch bản kiểm tra tất cả các phần tử với lớp và thêm nó vào trình lắng nghe sự kiện với một đóng cửa
Nhưng bạn nên có thể tránh sử dụng sự kiện này (có thể sử dụng cookie để lưu trữ thứ bạn muốn gửi x giây và cho phép, trong trường hợp xấu nhất, hãy xem nó vào lần tới khi người dùng tải một trang và, trong trường hợp tốt nhất, có thể gửi một yêu cầu Ajax tại onbeforeunload hoặc onunload, ngay cả khi nó chỉ gửi các tiêu đề http , woudl cho phép bạn có được những gì bạn muốn)
Đây là một bản sao của [window.onbeforeunload không làm việc trên iPad?] (http://stackoverflow.com/questions/3239834/window-onbeforeunload-not-working-on-the-ipad) –