2013-08-23 35 views
0

雖然使用css內容腳本處理內部Gmail內容是沒有問題的,但我無法使用jQuery和自定義js內容腳本來完成此操作。Chrome擴展程序:如何使用jQuery處理內部Gmail DOM?

我想用jQuery來操縱內部的Gmail DOM。

的manifest.json

"content_scripts": [ { 
     "matches":  ["*://*.mail.google.com/*"], 
     "js":   ["jquery.js", "default.js"] 
    } ], 

default.js

$(document).ready(function() { 
    $("div.gK").css("color", "red"); 
}); 

然而,各個div.gK元件不反映的CSS的變化:

enter image description here

任何想法爲什麼這不起作用?

回答

3

DOMReady事件在您的目標元素創建之前很久纔會觸發。當您訪問mail.google.com時,您會注意到加載欄 - 在此之前,您的事件已被解僱。

我不知道如果Gmail有更可靠的任何自定義事件,否則我建議使用

jQuery(window).load(function(){ 
    jQuery("div.gK").css("color", "red"); 
}); 

如果你覺得就像解剖的事件更詳細,我建議在閱讀和使用Chrome開發者工具,重點在Timeline tab

+0

謝謝,但我不能得到這個工作。元素保持不變。我還在元素上應用了其他函數,例如'hide()',但它們都不起作用。 – orschiro

1

通過查看Javascript控制檯確保您的擴展沒有引發錯誤。 問題可能是它沒有執行,因爲它引發了一個錯誤。 CHeers!