Câu hỏi này rất cũ nhưng vẫn là kết quả hàng đầu trên google khi bạn tìm cách vô hiệu hóa thông báo bật lên này với tư cách là nhà phát triển tiện ích mở rộng đã thêm tiện ích mở rộng của họ vào cửa hàng chrome, không có quyền truy cập vào chính sách nhóm do cho hệ điều hành của họ và không sử dụng bản dựng chrome dev. Hiện tại không có giải pháp chính thức nào trong tình huống này vì vậy tôi sẽ đăng một phần 'hacky' ở đây.
Phương pháp này đã ngay lập tức chúng ta tạo một cửa sổ mới và đóng cửa sổ cũ. Cửa sổ bật lên được liên kết với cửa sổ gốc, vì vậy trong các trường hợp sử dụng thông thường, cửa sổ bật lên không bao giờ xuất hiện do cửa sổ đó bị đóng.
Giải pháp đơn giản nhất ở đây là chúng tôi tạo một cửa sổ mới và chúng tôi đóng tất cả các cửa sổ không phải là cửa sổ chúng tôi vừa tạo trong cuộc gọi lại:
chrome.windows.create({
type: 'normal',
focused: true,
state: 'maximized'
}, function(window) {
chrome.windows.getAll(function(windows) {
for (var i = 0; i < windows.length; i++) {
if (windows[i].id != window.id) {
chrome.windows.remove(windows[i].id);
}
}
});
});
Ngoài ra, chúng tôi có thể phát hiện cách tiện ích mở rộng này được cài đặt và chỉ chạy mã này nếu đó là cài đặt phát triển (mặc dù có lẽ tốt nhất là loại bỏ hoàn toàn khỏi mã phát hành). Trước tiên, chúng tôi tạo chức năng gọi lại cho lệnh gọi chrome.man Quản lý.getSelf cho phép chúng tôi kiểm tra loại cài đặt của tiện ích mở rộng, về cơ bản chỉ gói mã ở trên trong câu lệnh if:
function suppress_dev_warning(info) {
if (info.installType == "development") {
chrome.windows.create({
type: 'normal',
focused: true,
state: 'maximized'
}, function(window) {
chrome.windows.getAll(function(windows) {
for (var i = 0; i < windows.length; i++) {
if (windows[i].id != window.id) {
chrome.windows.remove(windows[i].id);
}
}
});
});
}
}
tiếp theo, chúng tôi gọi chrome.man Quản lý.getSelf với cuộc gọi lại mà chúng tôi đã thực hiện:
chrome.management.getSelf(suppress_dev_warning);
Phương pháp này có một số cảnh báo, cụ thể là chúng tôi đang giả sử một trang nền liên tục có nghĩa là mã chỉ chạy một lần khi chrome được mở lần đầu tiên. Vấn đề thứ hai là nếu chúng ta tải lại / làm mới tiện ích mở rộng từ trang chrome: // extend, nó sẽ đóng tất cả các cửa sổ hiện đang mở và theo kinh nghiệm của tôi đôi khi sẽ hiển thị cảnh báo. Trường hợp đặc biệt này có thể tránh được bằng cách kiểm tra xem có bất kỳ tab nào được mở cho "chrome: // extend" và không thực thi nếu có.