怎么用 Stylish 排除某几类网址
Stylish - 用Stylish(一个用户样式管理器)给网页换个样式。Stylish 让您轻松为 Baidu、Google、Facebook、GitHub 及更多其他网站安装主题和皮肤。您甚至可以自己定制 Firefox 和其他程序。
据调查得知,很多用户使用 Stylish 这个插件是为了给白色背景的网页换个颜色,比如豆绿色 #CCE8CF
来降低长时间浏览网页导致的眼睛疲劳。那么用户需要编写一个通用的样式来应用到所有网站。
但是使用过程中会发现都用同一个背景颜色时,有些网站就变得难看了。比如使用样式:
@-moz-document url-prefix(http://),url-prefix(https://) {
/* Headings */
h1,h2,h3,h4,h5,h6 {background-color:#CCE8CF !important;}
/* text */
body,p,div,table {background-color:#CCE8CF !important;}
/* Links */
a:link {color:#0000FF !important;} /* color:blue */
a:visited {color:#800080 !important;} /* color:purple */
}
会使所有 http、https 网页改为以豆绿色为背景颜色,这时你会发现百度地图的网页就变得丑陋了,github 网页也不好看。于是,你需要一个能改变绝大多数网页的样式除了某些特定的网页的样式。
一个可行的解决方案是使用正则表达式作为匹配网址的规则。但是正则表达式用法很负责,特别是涉及到 非、或 这样的逻辑关系时更是不好理解。所以,我搜索前人的解决方案并学习适用于 JavaScript 的正则表达式来写出几个示例供大家参考,希望能帮到大家。
以上文样式代码为例,需要替换的语句是 @-moz-document url-prefix(http://),url-prefix(https://)
,
当替换为 @-moz-document regexp('(?!^https?://github\\.com).*')
时样式将作用于除了以 https://github.com 开头的网址之外的所有网页。
当替换为 @-moz-document regexp('(?!^https?:\/\/(github\\.com|bitbucket\\.org))\\S*')
时样式将作用于除了以 https://github.com 或 https://bitbucket.org 开头的网址之外的所有网页。
如果需要排除 https://github.com 、 https://bitbucket.org 和 http://ditu.baidu.com 可参考 护眼样式 。
更多需求可以依照上面的例子依葫芦画瓢。
学习正则表达式可参考 Regular Expressions 。
版权声明:本文版权属于若要走,并受法律保护。本文授权方式采用 Creative Commons 署名 - 非商业性使用 - 禁止演绎 4.0 许可协议。接受自由转载,但必须署名、注明来源,且禁止用于商业用途。