2012-02-08 56 views
2

我在试验一个Chrome扩展程序,该扩展程序将删除Gmail中右侧窗格中显示的广告,并将所需的信息放在该处。 (我还没有确定究竟该放什么东西;在几个想法之间摇摆不定,包括外部内容和/或附件。)试图通过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">返回什么 - 即使我可以在源看到它在那里。

+3

-1,这是因为像你这样的人使得免费产品难以存在。如果您不喜欢广告,请付钱。 – Brad 2012-02-08 23:57:23

+0

@Brad,我感谢你的感悟 - 如何降低我的问题而不是降低我的问题(与其优点和StackOverflow的使命无关),你建议一些关于如何在不移除广告的情况下实现我的目标的指导?这样你就可以影响我,帮助谷歌,而不是听起来像一个混蛋。例如,您可以看到我也尝试在上面插入自己的信息,而不是替换广告。 – tchaymore 2012-02-09 00:10:14

+0

我要离开我的失望了,因为我相信你所做的就是违背了ToS,像Stack Overflow这样的问题会破坏社区。如果有人对此做出决定,欢迎他们在meta上进行讨论或讨论,并发布链接。我通常不会冷静地回答我不同意的问题,但是当有人试图针对相关产品做非法或针对托管服务时,我会毫不犹豫地这样做。我建议您在Gmail界面之外的其他地方显示您的内容。要小心,因为试图“框架”Gmail也是针对ToS的。 – Brad 2012-02-09 01:46:44

回答

2

设置延迟执行您的jquery选择器。 Google Tubes比在页面加载时使用静态div类复杂一点。

1

,而不是JS去除广告,只是藏在他们CSS:

.oM { 
    display: none; 
} 
0

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