0

查看扩展文档后,我创建了一个小扩展,应该可以解决问题,但它似乎没有任何效果。我不确定还需要做什么。或者,Gmail 是否是一个特殊页面,并且以某种方式丢弃了在其加载过程中注入的样式表?

这是我到目前为止所拥有的:

x.css:

/*html for extra specificty*/
/*this class is applied to the compose button*/
html .T-I-KE {
  background-image: -webkit-linear-gradient(top,#555,#333);
  background-image: linear-gradient(top,#555,#333)
}

清单.json:

{
  "name": "A Compose Button as Dark as my Soul",
  "version": "1.1",
  "manifest_version": 2,
  "description": "I’m so depressed.",
  "content_scripts": [
    {
      "matches": ["http://mail.google.com/*", "https://mail.google.com/*"],
      "css": ["x.css"]
    }
  ]
}

这是怎么回事?

4

2 回答 2

1

Gmail 不是 Chrome Webstore 那样的“特殊页面”,您可以插入 CSS。例如,检查“标准 HTML”页面,然后尝试类似的东西body { background-color: #f00; }- 它有效!

请注意,您要更改的按钮位于 iFrame 内部canvas_frame,我认为这可能是一个原因,请注意这个也可以:

#canvas_frame {
  width: 50%;
}

也许“如何将 CSS 应用到 iFrame ”的答案可以帮助你,我尝试了一些,但还不能让它工作,但也许这为你指明了正确的方向。

(顺便说一句,您在 CSS 中忘记了 a ;,但这似乎不是它不起作用的原因,只是想提一下)

于 2012-06-24T22:32:52.460 回答
0

In our extension we use a content script to scan a page (based on the url, it only scans certain sites) for elements we wish to change. For example it looks over YouTube comments and changes the color according to a sentiment analysis score.

Such a technique could append a class to a given button and change it that way.

here is a snippet that

if (location.href.indexOf('youtube.com') != -1) {
    if (data.indexOf('neg') != -1) {
        $('.comment-text:contains('+data.substring(4)+')').each(function(index) {
            var active_el = $(this)[index];
            chrome.extension.sendRequest({id: "sense_color"}, function(local) {
                active_el.style.color="#"+local;
            });
            selectText($(this)[0]);
        });
    }
于 2012-06-24T22:10:11.780 回答