6

Tôi có tiện ích mở rộng với trang nền và theo mặc định, điều này khiến Chrome vẫn tồn tại sau khi bạn đóng tất cả các cửa sổ và đặt biểu tượng Chrome vào khay hệ thống. Tôi muốn tránh điều này - Tôi không muốn tiện ích mở rộng của mình khiến quy trình Chrome tồn tại sau khi đóng tất cả các cửa sổ Chrome, cũng như tôi không muốn Chrome xuất hiện trong trạng thái systray.Tiện ích mở rộng của Chrome: đóng trang nền sau khi đóng Chrome

Theo số only docs I could find về điều này cho biết rằng người dùng có thể đặt tùy chọn này trên toàn cầu trên tất cả các tiện ích, nhưng đó không phải là những gì tôi đang cố gắng làm. Tôi muốn phần mở rộng trở nên khiêm tốn/không phô trương và không muốn thay đổi hành vi của trình duyệt của người dùng. Có ai biết làm thế nào để thực hiện điều này trong khi giữ lại khả năng có một trang nền?

+1

đây là simalar để http://stackoverflow.com/questions/10151732/how-can-a-google-chrome-extension-exit-its-own-background-process nhưng thay vì đóng trang nền phải đi, tôi sẽ muốn đóng nó khi tất cả các tab đã được đóng lại, và tôi cũng không muốn biểu tượng systray – Mala

+0

Bạn có thể sử dụng các trang sự kiện thay vì trang nền. Đây là phương thức ưa thích mới vì nó không yêu cầu mã của bạn phải chạy liên tục, chỉ khi nào nó cần. https://developer.chrome.com/dev/extensions/event_pages.html –

+0

trang sự kiện trông tuyệt vời! Không thể chờ đợi cho họ để trở thành chính thức phát hành. –

Trả lời

3

CẬP NHẬT

Với phiên bản manifest 2 bây giờ bạn có thể chạy event pages that are not persistent. Các trang sự kiện rất giống với các trang nền nhưng chỉ được tải khi cần phần mở rộng.

Ví dụ từ các trang sự kiện doc trên thiết lập một kịch bản sự kiện không liên tục trong biểu hiện của bạn:

{ 
    "name": "My extension", 
    ... 
    "background": { 
    "scripts": ["eventPage.js"], 
    "persistent": false 
    }, 
    ... 
} 

Đây là một hướng dẫn về m igrating your Chrome extension to manifest version 2.


OLD ĐÁP

Hiện nay, nếu mở rộng của bạn có nền định nghĩa trong file manifest.json, nó sẽ chạy trước khi Chrome được khởi động và tiếp tục sau khi tất cả các cửa sổ của Chrome được đóng lại. Đó là trừ khi người dùng thay đổi cài đặt của họ như bạn đã đề cập. Có thể có các phiên bản tương lai của Google Chrome cho phép các chức năng khác nhau nhưng bạn, nhà phát triển, sẽ không thể giải quyết vấn đề này vào lúc này.

Một đoạn trích từ background manifest docs

Làm cho Chrome khởi động sớm và và đóng cửa muộn, do đó các ứng dụng và phần mở rộng có thể có một cuộc sống lâu hơn.

Khi bất kỳ ứng dụng được lưu trữ, ứng dụng đóng gói hoặc tiện ích mở rộng nào có quyền "nền", Chrome sẽ chạy (vô hình) ngay khi người dùng đăng nhập vào máy tính của họ — trước khi người dùng khởi chạy Chrome. Quyền "nền" cũng khiến Chrome tiếp tục chạy (ngay cả sau khi cửa sổ cuối cùng bị đóng) cho đến khi người dùng thoát Chrome một cách rõ ràng.

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