尝试使用Chrome扩展删除Gmail中的广告

Trying to remove ads in Gmail with Chrome Extension

本文关键字:Gmail 删除 扩展 Chrome      更新时间:2023-09-26

我正在试验一个Chrome扩展,它将删除Gmail右侧窗格中显示的广告,并将我想要的信息放在那里。(我还没有决定具体放什么;在几个想法之间摇摆不定,包括外部内容和/或附件。)

广告(通常)包含在<div class="oM"></div>元素中。但我似乎无法在扩展或控制台中选择它。

我已经通过编写一个扩展来测试我的manifest.json设置,该扩展在页面顶部添加了一个多余的div,效果很好——我只是创建了一个新元素和

document.body.parentElement.insertBefore(new_el, document.body);

然而,我现在想做的只是把广告撕下来,放一些伪文本,或者把文本放在广告上面。这是我的content_script.js文件中调用的主要函数。

function modifyPage(txt) {
    var container = document.getElementsByClassName('oM')[0];
    container.innerHTML = txt;
}

function modifyPage(txt) {
    var insert = document.createElement('div');
    insert.innerText = txt;
    var container = document.getElementsByClassName('oM')[0];
    document.body.parentElement.insertBefore(insert, container);
}

我甚至尝试过jQuery:

function modifyPage(txt) {
    $('.oM').html(txt);
}

此外,尝试使用Chrome控制台检索<div class="oM">不会返回任何结果——尽管我可以在源代码中看到它。

设置执行jquery选择器的延迟。GoogleTubes比在页面加载中使用静态div类要复杂一些。

与其用JS删除广告,不如用CSS:隐藏它们

.oM {
    display: none;
}

我使用的是AdBlock+Chrome add-in(or extension)
它工作得很好——这是一个捐赠软件,我猜作者使用了jquery {display:none }hideremove的带有自定义过滤列表的广告。