2012-02-08 66 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自定義過濾器列表的廣告。