gpt4 book ai didi

javascript - 如何使用 Greasemonkey/Tampermonkey 脚本更改类 CSS?

转载 作者:IT王子 更新时间:2023-10-29 03:07:42 27 4
gpt4 key购买 nike

我正在尝试设置正文的背景图像,但仅限于它使用类 banner_url 的地方。 HTML 如下:

<body id="app_body" class="banner_url desktopapp" data-backdrop-limit="1">

基本上,我想强制页面改为使用以下 CSS:

.banner_url {
background: url('http://www.pxleyes.com/images/contests/kiwis/fullsize/sourceimage.jpg') no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}

如果有任何不同,我正在尝试使用 Greasemonkey 来执行此操作。有谁知道我该怎么做?我从以下开始,但运气不佳:

function randomBG(){
document.getElementsByClassName("banner_url").style.backgroundImage="url('http://www.pxleyes.com/images/contests/kiwis/fullsize/sourceimage.jpg')no-repeat center center fixed;";
}
randomBG();

最佳答案

为此,只需使用 CSS 级联。使用 GM_addStyle() 向页面添加样式表。
注意:

  • 我们使用 !important 标志来掩盖某些潜在的冲突。
  • 使用 @run-at document-start (或使用 Stylus,见下文) 以最大限度地减少与更改样式相关的“闪烁”初始渲染。

一个完整的脚本:

// ==UserScript==
// @name _Override banner_url styles
// @include http://YOUR_SERVER.COM/YOUR_PATH/*
// @grant GM_addStyle
// @run-at document-start
// ==/UserScript==

GM_addStyle ( `
.banner_url {
background: url('http://www.pxleyes.com/images/contests/kiwis/fullsize/sourceimage.jpg') no-repeat center center fixed !important;
-webkit-background-size: cover !important;
-moz-background-size: cover !important;
-o-background-size: cover !important;
background-size: cover !important;
}
` );

请注意,如果您使用的是 Greasemonkey 4,它会破坏 GM_addStyle() (以及许多其他东西)
强烈建议您改用 Tampermonkey 或 Violentmonkey。
事实上,Greasemonkey 的控制开发人员 says as much himself .

与此同时,对于那些坚持使用 GM4 的受虐狂来说,这是一个垫片:

function GM_addStyle (cssStr) {
var D = document;
var newNode = D.createElement ('style');
newNode.textContent = cssStr;

var targ = D.getElementsByTagName ('head')[0] || D.body || D.documentElement;
targ.appendChild (newNode);
}

此外,对于纯 CSS 操作,Stylish Stylus extension是比 Greasemonkey/Tampermonkey 更好的选择。

关于javascript - 如何使用 Greasemonkey/Tampermonkey 脚本更改类 CSS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19385698/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com