用于覆盖站点 css/自定义 css 的用户脚本

vul*_*gar 5 javascript css userscripts

我有一个可用的 userstyles.org 解决方案。但是,我也想获得一些自定义 CSS 来通过用户脚本覆盖给定网站的 CSS。

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

// ==UserScript==
// @id            Custom_Style
// @name          Custom CSS for domain.com
// @version       1.0
// @author        vulgarbulgar
// @description   Changes the default css for domain.com
// @include       http://site.com/*
// @include       https://site.com/*
// @include       http://*.site.com/*
// @include       https://*.site.com/*
// @resource      css http://userstyles.org/custom.css
// ==/UserScript==

$(document).ready(function() {
    GM_addStyle(GM_getResourceText("css"));
});
Run Code Online (Sandbox Code Playgroud)

似乎不起作用。

我没有任何js知识,但是从一些例子中拼凑了上面的内容。将上述用户脚本安装到 Chrome 中似乎在访问目标站点时不会触发更改。

谢谢。

Bro*_*ams 4

该脚本正在使用$(document).ready()但没有@requirejQuery 指令!

另外,$(document).ready()(大多数)GM 脚本中不需要,因为 Greasemonkey 默认情况下会在正确的时间运行。

另一件可以让你保持理智的事情是:不要使用如此短、重载的名称作为变量。使用可搜索的内容代替“css”。

所以你当前的脚本将变成:

// ==UserScript==
// @id            Custom_Style
// @name          Custom CSS for domain.com
// @version       1.0
// @author        vulgarbulgar
// @description   Changes the default css for domain.com
// @include       http://site.com/*
// @include       https://site.com/*
// @include       http://*.site.com/*
// @include       https://*.site.com/*
// @resource      myCustomCss http://userstyles.org/custom.css
// @grant         GM_addStyle
// @grant         GM_getResourceText
// ==/UserScript==

GM_addStyle (GM_getResourceText ("myCustomCss") );
Run Code Online (Sandbox Code Playgroud)