Tôi tự hỏi điều gì sẽ xảy ra khi người dùng đóng tab tạo ra chuỗi công nhân, trong khi luồng vẫn hoạt động. Nó có ngăn chặn mọi thứ không? Nếu vậy, có cách nào để chạy chuỗi trong nền ngay cả khi tab được đóng không?Điều gì sẽ xảy ra với chuỗi công nhân web HTML5 khi tab được đóng khi nó đang chạy?
Trả lời
Có, nó dừng mọi thứ, một công nhân (chuyên dụng) không thể sống lâu hơn chủ nhân của nó. Nếu bạn sử dụng một nhân viên được chia sẻ, có thể có nhiều chủ sở hữu, nhân viên sẽ chỉ còn sống miễn là ít nhất một chủ sở hữu còn sống. Đây là trường hợp ngay cả khi bạn chuyển số MessagePort
bị vướng vào một cửa sổ khác (nghĩa là chủ sở hữu của cổng tin nhắn là không phải là chủ nhân của công nhân). Vì vậy, với công nhân được chia sẻ, bạn có thể "chuyển" quyền sở hữu bằng cách mở một cửa sổ mới thiết lập kết nối riêng của mình với nhân viên (với new SharedWorker(...)
) và sau đó đóng cửa sổ cũ. Nhưng một cửa sổ phải luôn mở.
Hãy xem ở đây
http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#workerglobalscope
tôi nghĩ nó được xác nhận rằng một khi trình duyệt sẽ biến mất, bất kỳ người lao động phải dừng lại.
Bất cứ khi nào một đối tượng Document được loại bỏ, nó phải được loại bỏ khỏi danh sách các tài liệu của người lao động của mỗi công nhân có danh sách chứa rằng Document.
Trong trường hợp bạn có một cửa sổ sử dụng nhân viên web và bạn đóng cửa sổ (hoặc tab) đó, người lao động sẽ biến mất.
Nếu bạn có trường hợp bạn có cửa sổ, mở cửa sổ hoặc tab khác, công nhân có thể tiếp tục. Nhưng nếu bạn đóng tất cả mọi thứ, tất cả chúng sẽ biến mất.
- 1. Điều gì sẽ xảy ra với Mutex khi chuỗi đã thoát khỏi nó?
- 2. Điều gì sẽ xảy ra với con trỏ FILE sau khi tệp được đóng?
- 3. Điều gì sẽ xảy ra khi kết nối với MongoDB không bị đóng?
- 4. Điều gì sẽ xảy ra nếu thay đổi một thủ tục lưu sẵn trong khi nó đang chạy?
- 5. Điều gì sẽ xảy ra với cửa sổ WPF sau khi đóng?
- 6. Điều gì sẽ xảy ra sau khi gói bị bắt?
- 7. Điều gì sẽ xảy ra khi ném ngoại lệ C++?
- 8. Điều gì sẽ xảy ra khi bạn đóng ứng dụng bảng điều khiển C++
- 9. Điều gì sẽ xảy ra với tác vụ khi nó bị hủy?
- 10. Điều gì sẽ xảy ra khi bạn đóng tệp bằng mã hóa Được bảo vệ trừ khi mở 'của iOS?
- 11. Điều gì sẽ xảy ra khi tôi biên dịch?
- 12. Điều gì sẽ xảy ra khi mongodb hết bộ nhớ?
- 13. Điều gì sẽ xảy ra khi quyền được tắt với tính năng mới của OS 4.3?
- 14. Điều gì đang xảy ra khi sử dụng DISTINCT?
- 15. Điều gì sẽ xảy ra khi biên dịch và chạy khi ghép nối một chuỗi rỗng trong Java?
- 16. Điều gì sẽ xảy ra khi Stack và Heap Collide
- 17. Điều gì sẽ xảy ra khi va chạm băm xảy ra trong khóa Từ điển?
- 18. Điều gì sẽ xảy ra trong JavaScript khi cuộc gọi AJAX trả về trong khi tập lệnh đang thực thi?
- 19. Điều gì sẽ xảy ra với các bộ mô tả tệp trong Python 3 khi .close() không thành công?
- 20. Điều gì sẽ xảy ra với cron job khi tắt hệ thống?
- 21. Điều gì sẽ xảy ra khi tham chiếu C++ rời khỏi phạm vi của nó?
- 22. Điều gì sẽ xảy ra khi người dùng nhấn dừng trong trình duyệt web của họ?
- 23. Điều gì sẽ xảy ra trong bộ nhớ khi lớp C++ được khởi tạo
- 24. Điều gì sẽ xảy ra khi Java Compiler thấy nhiều chuỗi nối trong một dòng?
- 25. điều gì xảy ra với một con sóng khi nó được nhúng?
- 26. Điều gì sẽ xảy ra khi đạt được dung lượng tối đa HashMap hoặc HashSet?
- 27. Điều gì sẽ xảy ra với cơ sở dữ liệu Sqlite khi ứng dụng bị xóa
- 28. Điều gì xảy ra với Google Analytics khi tôi chạy trang cục bộ?
- 29. Điều gì sẽ xảy ra với AsyncTasks sau onPause?
- 30. Điều gì đã xảy ra với tê giác? Nó vẫn đang được phát triển tích cực?
Chỉ cần làm rõ, vì cuộc thảo luận tập trung xung quanh cửa sổ mới, điều này cũng nên áp dụng cho tải trang mới. Việc tải một trang mới sẽ loại bỏ đối tượng tài liệu hiện tại (nhân viên web biến mất) và được tạo lại trên tải tài liệu mới. – ElHaix