2014-07-04 22 views
7

Tôi đang viết một tiện ích mở rộng để ghi nhật ký việc sử dụng Facebook. Tôi thấy rằng ngay cả khi các tab facebook bị rơi bộ đếm thời gian vẫn đếm như vậy cố gắng sửa chữa nó. Theo the doc, có vẻ như không có sự kiện như vậy.Cách phát hiện xem tab Chrome có bị lỗi không

Có API nào để phát hiện xem tab có bị lỗi hay sự cố không?

Trả lời

4

Sự kiện chrome.processes.onExited được kích hoạt khi trình kết xuất bị lỗi (đây là quá trình lưu trữ một hoặc nhiều tab).

API này chỉ khả dụng cho người dùng trên developer channel, vì vậy nếu bạn muốn làm cho tiện ích có sẵn rộng rãi cho mọi người, thì bạn cần sử dụng phương pháp thay thế. Bạn có thể tạo tập lệnh nội dung để tạo cổng thông báo qua số chrome.runtime.connect và sử dụng sự kiện onDisconnectchrome.tabs.sendMessage hoặc chrome.tabs.executeScript để kiểm tra xem tab vẫn còn tồn tại: Nếu tab không tồn tại nữa, thì chrome.runtime.lastError sẽ được đặt và cho biết liên lạc lỗi.

+1

Trong thử nghiệm của tôi, chrome.runtime.lastError không được đặt sau cuộc gọi nếu tab bị lỗi. Và gọi lại cũng không được gọi. Nếu id tab thực sự không tồn tại thì chrome.runtime.lastError được đặt trong hàm gọi lại được gọi. Vì vậy, cách duy nhất (nhưng có khả năng không chính xác) để phát hiện các tab bị lỗi dường như đặt hẹn giờ và chờ một khoảng thời gian chờ khi cuộc gọi lại không được gọi. –

+1

@RolandPihlakas Tôi đã mở một vé: https://crbug.com/439780 –

+0

Ồ, cảm ơn, ý tưởng hay! Điều này sẽ trở thành một thói quen ... –

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