Google Minus One bởi Claire Rosenthal
Removes the 'Upgrade' advertisement on Google online products, including Docs, Mail, Drive, etc.
Siêu dữ liệu mở rộng
Về tiện ích mở rộng này
Removes the 'Upgrade' advertisement on Google online products, including Docs, Mail, Drive, etc.
Around 25 lines of actual code. Nothing fancy. I'm going to post the code here in case you want to look at it:
Around 25 lines of actual code. Nothing fancy. I'm going to post the code here in case you want to look at it:
/**
* Project: Goole Minus One Firefox Extension
* File Purpose: This file is the main javascript file for the extension. It finds the
* upgrade advertisement on google pages and remove the html element.
* Responsible Party: Claire Rosenthal
* License: GNU GPLv3
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
// This is a Stack Overflow solution to waiting for and finding an html element using the MutationObserver function.
// Source - https://stackoverflow.com/a/61511955
// Posted by Yong Wang, modified by community. See post 'Timeline' for change history
// Retrieved 2026-07-01, License - CC BY-SA 4.0
function waitForElm(selector) {
return new Promise((resolve) => {
if (document.querySelector(selector)) {
return resolve(document.querySelector(selector));
}
const observer = new MutationObserver((mutations) => {
if (document.querySelector(selector)) {
observer.disconnect();
resolve(document.querySelector(selector));
}
});
// If you get "parameter 1 is not of type 'Node'" error, see https://stackoverflow.com/a/77855838/492336
observer.observe(document.body, {
childList: true,
subtree: true,
});
});
}
// This is where the waiting for and selection of the html element starts.
// Here is where the different selection ids come from:
// .s1rbBe is the upgrade selector for Gmail
// .appsElementsWorkspaceRecommendationContentButtonFull is the upgrade button selector for Google Workspace (Docs, Sheets, etc.)
// .wKxlIc is the upgrade button selector for Google Calendar
// .Iu19ad-OkO9ve-yp5uJf-j is the upgrade button selector for Google Drive
waitForElm(
".s1rbBe,.appsElementsWorkspaceRecommendationContentButtonFull,.wKxlIc,.Iu19ad-OkO9ve-yp5uJf-j",
).then((elm) => {
elm.remove();
});
Được xếp hạng 0 (bởi 1 người dùng)
Quyền hạn và dữ liệu
Quyền hạn bắt buộc:
- Truy cập dữ liệu của bạn cho các trang web trong tên miền google.com
Thu thập dữ liệu:
- Nhà phát triển cho biết tiện ích mở rộng này không yêu cầu thu thập dữ liệu.
Thêm thông tin
- Liên kết tiện ích
- Phiên bản
- 0.5
- Kích cỡ
- 49,71 KB
- Cập nhật gần nhất
- 6 ngày trước (2 Thg 07 2026)
- Thể loại có liên quan
- Giấy phép
- Chỉ Giấy phép Công cộng GNU v3.0
- Lịch sử các phiên bản
- Thêm vào bộ sưu tập