首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chrome扩展太慢

Chrome扩展太慢
EN

Stack Overflow用户
提问于 2012-12-01 00:12:08
回答 1查看 434关注 0票数 0

我在火狐和Chrome上用了一个小的script,它只是改变了这个页面的颜色。在Firefox中,它工作得很好,但在Chrome中,我可以首先看到页面的原始颜色,几秒钟后页面就会发生变化。

这正常吗?(如何)我可以改变这一点吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-01 00:35:55

我不知道如何使用GM脚本来做这件事,但这里是如何将它作为一个chrome扩展来做的……

manifest.json

代码语言:javascript
复制
{
    "name": "SO css",
    "content_scripts": [
        {
         "matches": [
            "http://*.stackoverflow.com/*"
         ],
         "css": ["new.css"],
         "run_at" : "document_start"
        }
    ],
    "version":"1.0",
    "manifest_version" : 2
}

new.css

代码语言:javascript
复制
#custom-header       {background-color: rgb(251,122,35) !important}

#nav-questions       {background-color: rgb(251,122,35) !important}
#nav-tags            {background-color: rgb(251,122,35) !important}
#nav-users           {background-color: rgb(251,122,35) !important}
#nav-badges          {background-color: rgb(251,122,35) !important}
#nav-unanswered      {background-color: rgb(251,122,35) !important}
#nav-askquestion     {background-color: rgb(251,122,35) !important}

有关内容脚本的信息....

http://developer.chrome.com/extensions/content_scripts.html

关于Chrome扩展的信息....

http://developer.chrome.com/extensions/getstarted.html

如果GM脚本有一个run_at等效项,那么它需要是document_start,因为它听起来像是在document_idle中注入了css,这将是在dom/page加载之后。你想要它在那之前,这样你就看不到它的变化。这就是为什么我在我的答案中将!important添加到每个css规则中,以确保它们不会被任何紧随其后的css更改。

编辑

查了一下,有一个run_at变量,这里和上面一样,只是作为一个GM脚本...

代码语言:javascript
复制
// ==UserScript==
// @name        SO
// @namespace   stackoverflow.com
// @include     *stackoverflow.com/*
// @version     1
// @grant       GM_addStyle
// @run-at      document-start
// ==/UserScript==

changeHeaderColor ();

function changeHeaderColor () {
    GM_addStyle ( "                                                 \
        /*body { color: white; background-color: black !important}            \
        */                                                          \
        #custom-header       {background-color: rgb(251,122,35) !important}    \
                                                                    \
        #nav-questions       {background-color: rgb(251,122,35) !important}    \
        #nav-tags            {background-color: rgb(251,122,35) !important}    \
        #nav-users           {background-color: rgb(251,122,35) !important}    \
        #nav-badges          {background-color: rgb(251,122,35) !important}    \
        #nav-unanswered      {background-color: rgb(251,122,35) !important}    \
        #nav-askquestion     {background-color: rgb(251,122,35) !important}    \
        /*Blau: rgb(0,160,160) rgb(0,200,200)                       \
        */                                                          \
    " );
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13648855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档