2013-08-23 60 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!