如何更改整个网络上单个字母的颜色?

时间:2012-08-23 14:56:50

标签: browser text colors

我正在进行一项实验,我们正在努力训练人们成为联合体(他们有与数字或字母相关的其他颜色经验)。

我想知道是否有人对修改网页浏览器的最简单方法有一些建议,例如firefox,这样在网页上访问的任何网页上只有10个字母AJ会以特定的颜色显示?

非常感谢

3 个答案:

答案 0 :(得分:0)

有很多方法可以做到这一点(跨浏览器):

例如,您可以在样式表中定义一个具有不同颜色的元素。 加载文档时,通过JavaScript / jQuery检查指定字母的整个文档(但只有标签的内容)并添加-tag f.e.他们周围。

不是最好的解决方案,而是一种方式。

答案 1 :(得分:0)

看一下Greasemonkey,一个FireFox插件,专门用来做这种事情。 http://userscripts.org/有许多预制脚本可供使用,其中一些看起来像是帮助您弄清楚如何编写自己的脚本以重新着色单个字母。

答案 2 :(得分:0)

以下是潜在解决方案测试版的蓝图初步形式的抽象草稿:使用书签中的javascript:前缀作为后续内容。

  1. 在书签工具栏中创建新条目
  2. 在网址输入中,复制/粘贴以下行:javascript:var html = document.body.innerHTML; html = html.replace(/([a-j])/ig, '<span style="color: red;">$1</span>'); while(html.match(/(<[^>]*)<[^>]+>([^<]+)<\/[^>]+>([^>]*>)/g) != null) {html = html.replace(/(<[^>]*)<[^>]+>([^<]+)<\/[^>]+>([^>]*>)/g, '$1$2$3');} document.body.innerHTML = html;
  3. 为您的书签命名(例如“A-J为红色”)并保存
  4. 您现在可以访问任何网站并点击该书签,这将把a和j之间的所有字母都设置为红色
  5. 以更加消化的方式:

    // get the content of the body
    var html = document.body.innerHTML;
    // surround any letter between a and j by a <span></span>
    html = html.replace(/([a-j])/ig, '<span style="color: red;">$1</span>');
    // but it also replaces a-j letters within html tags
    while(html.match(/(<[^>]*)<[^>]+>([^<]+)<\/[^>]+>([^>]*>)/g) != null) {
        // so if there are html tags within other html tags, delete the created <span></span>
        html = html.replace(/(<[^>]*)<[^>]+>([^<]+)<\/[^>]+>([^>]*>)/g, '$1$2$3');
    }
    // and replace the innerHTML of the body
    document.body.innerHTML = html;
    

    这真的不是最终解决方案,但是,也许你可以努力改善结果。

    PS:不要尝试IE ...