2012-04-01 56 views
5

Tôi tự hỏi liệu có thể phát hiện xem người dùng có thoát trình duyệt Chrome không?Chrome - Phát hiện khi trình duyệt thoát

EDIT - Rất tiếc, tôi không rõ ràng vì vậy tôi sẽ giải thích tình huống của mình. Tôi đang lưu trữ một số biến trong localstorage của trình duyệt. Khi người dùng đóng trình duyệt, tôi muốn xóa một số biến này.

+0

Có thể bạn muốn nhận thông báo 'trước khi' trình duyệt thực sự thoát? – Vincent

+0

@Vincent Yup. Nhận được thông báo ngay trước khi thoát khỏi trình duyệt là điều tôi muốn nói. Cảm ơn bạn đã xóa nó :) – Jon

Trả lời

6

Thực thi một số Javascript trước khi cửa sổ được bốc dỡ

Bạn có thể treo những sự kiện OnBeforeUnload của window

<script type="text/javascript"> 
    $(window).bind('beforeunload', function() { 
     if (iWantTo) { 
      return "Don't leave me!"; 
     } 
    }); 
</script> 

Sử dụng một nhịp tim để biết khi nào người dùng đã để lại

Hoặc tạo bộ đếm thời gian JavaScript để ping máy chủ của bạn sau mỗi XX giây. Khi ping dừng lại, bạn có thể giả sử người dùng đã đóng trình duyệt hoặc điều hướng đi.

http://ajaxpatterns.org/archive/Heartbeat.php

+0

Ồ, đó là một phương pháp sáng tạo, nhưng nó sẽ không hoạt động tốt trong trường hợp của tôi vì tôi đang lưu trữ dữ liệu trên máy khách. – Jon

+0

@ icu222much Rất tiếc, tôi không nghĩ có bất kỳ tùy chọn nào khác ... – msigman

+0

darn. mặc dù vậy. Tôi sẽ sửa đổi nội dung của tôi để làm việc với mã của bạn :) – Jon

1

Họ có nhiều nội dung hay trong tài liệu của họ. onRemoved của đối tượng cửa sổ dường như sẽ làm điều đó.

http://code.google.com/chrome/extensions/windows.html#event-onRemoved

Hoặc có thể bạn là tab. Trong trường hợp này, onRemoved cho đối tượng tab sẽ thực hiện.

http://code.google.com/chrome/extensions/tabs.html#event-onRemoved

API Index

+0

Tôi nghĩ rằng các API này chỉ khả dụng cho tiện ích mở rộng. OP đang nói về một trang web thông thường mà tôi nghĩ. –

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