用户通过 chrome 扩展加载时如何隐藏 gmail 收件箱菜单

Posted

技术标签:

【中文标题】用户通过 chrome 扩展加载时如何隐藏 gmail 收件箱菜单【英文标题】:How can I hide gmail inbox menu when user loads via chrome extension 【发布时间】:2019-09-04 11:39:37 【问题描述】:

拜托,我需要帮助。

我正在尝试创建一个 google chrome 扩展程序,当 gmail 用户加载 gmail 时,它会自动隐藏 google 收件箱菜单。

我对 javascript 和 chrome 扩展 api 有基本的了解。

问题在于访问 API。

【问题讨论】:

你需要一个内容脚本。 【参考方案1】:

Gmail 现在支持通过单击左侧的汉堡菜单来切换此主菜单。但是我不喜欢这个解决方案,主要是因为我无法将它绑定到任何快捷方式。

这是我使用 Tampermonkey chrome 扩展来切换 gmail 侧边栏的解决方案。 Toggle 绑定到 Escape 按钮。同样可以在 init 上完成,无需监听 keydown 事件,例如 $(".nH.oy8Mbf.nn.aeN").fadeOut();$(".nH.oy8Mbf.nn.aeN").hide();

// ==UserScript==
// @name         Toggle left sidebar
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Toggles left gmail sidebar on "esc" keypress.
// @author       blaz.krizaj@gmail.com
// @require      http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @match        *://mail.google.com/*
// @grant        none
// ==/UserScript==

$(document).ready(function() 
    $(document).keydown(function(e) 
        if (27 == e.keyCode) 
            var leftSideBar = $(".nH.oy8Mbf.nn.aeN");
            if (leftSideBar.css('display') == 'none') 
                leftSideBar.fadeIn();
            
            else 
                leftSideBar.fadeOut();
            
        
    );
);

【讨论】:

以上是关于用户通过 chrome 扩展加载时如何隐藏 gmail 收件箱菜单的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JavaScript 创建 Chrome 扩展来隐藏或删除页面元素?

通过 Chrome 扩展程序避免跨域策略

如何自动重新加载我正在开发的 Chrome 扩展程序?

使用 selenium 加载 chrome 扩展

如何通过 javascript 检查 chrome:// 文件是不是存在,而不实际加载文件?

打开Chrome浏览器时,Capybara无法加载或添加扩展程序