我正在尝试使用Chrome扩展程序,该扩展程序会移除Gmail右侧窗格中显示的广告,而是将我想要的信息放在那里。 (我还没有确切地决定放在那里;在几个想法之间摇摆不定,包括外部内容和/或附件。)
广告(通常)包含在<div class="oM"></div>
元素中。但我似乎无法在我的扩展程序或控制台中选择它。
我已经通过编写一个在页面顶部添加了多余div的扩展来测试我的manifest.json
设置,并且工作正常 - 我刚刚创建了一个新元素并且
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">
不会返回任何内容 - 即使我可以在源代码中看到它。
答案 0 :(得分:2)
设置执行jquery选择器的延迟。 Google Tubes比在页面加载时使用静态div类要复杂一些。
答案 1 :(得分:1)
不要用JS删除广告,只需用CSS隐藏它们:
.oM {
display: none;
}
答案 2 :(得分:0)
我正在使用AdBlock
+ Chrome add-in(or extension)
它非常有用,它是一个捐赠用品,我猜这位作者使用jquery {display:none }
来hide
或remove
这些广告带有自定义过滤器列表。