TamperMonkey 中的 GM_addStyle 等效项

2024-01-07

是否有与 GreaseMonkey 相当的 TamperMonkeyGM_addStyle添加CSS的方法?

在 GreaseMonkey 中,您可以向多个元素添加一堆 CSS 属性,如下所示:

GM_addStyle("body { color: white; background-color: black; } img { border: 0; }");

要在 TamperMonkey 中执行相同的操作,我目前必须执行以下操作:

function addGlobalStyle(css) {
    var head, style;
    head = document.getElementsByTagName('head')[0];
    if (!head) { return; }
    style = document.createElement('style');
    style.type = 'text/css';
    style.innerHTML = css;
    head.appendChild(style);
}

addGlobalStyle('body { color: white; background-color: black; }');

这可行,但是有内置的吗?GM_addStyleTamperMonkey 的等效项可以让我不必在每个脚本上重复此操作?


版本 4.0 或 +,2018 年更新

ReferenceError: GM_addStyle is not defined

您需要创建自己的 GM_addStyle 函数,如下所示:

// ==UserScript==
// @name           Example
// @description    Usercript with GM_addStyle method.
// ==/UserScript==

function GM_addStyle(css) {
  const style = document.getElementById("GM_addStyleBy8626") || (function() {
    const style = document.createElement('style');
    style.type = 'text/css';
    style.id = "GM_addStyleBy8626";
    document.head.appendChild(style);
    return style;
  })();
  const sheet = style.sheet;
  sheet.insertRule(css, (sheet.rules || sheet.cssRules || []).length);
}

//demo :
GM_addStyle("p { color:red; }");
GM_addStyle("p { text-decoration:underline; }");

document.body.innerHTML = "<p>I used GM_addStyle.</p><pre></pre>";

const sheet = document.getElementById("GM_addStyleBy8626").sheet,
  rules = (sheet.rules || sheet.cssRules);

for (let i=0; i<rules.length; i++)
  document.querySelector("pre").innerHTML += rules[i].cssText + "\n";

已弃用

If GM_addStyle(...)不起作用,请检查您是否有@grant GM_addStyle header.

像这样 :

// ==UserScript==
// @name           Example
// @description    See usercript with grant header.
// @grant          GM_addStyle
// ==/UserScript==

GM_addStyle("body { color: white; background-color: black; } img { border: 0; }");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TamperMonkey 中的 GM_addStyle 等效项 的相关文章

  • 引导网格中的绘图图周围有巨大的空白

    我有一个 Net 应用程序 我试图在其中使用创建一个图表bootstrap js and plotly js 当我创建响应式图表时 我遇到网格中存在巨大空白的问题 我发现问题的一部分是plotly svg container的大小默认高度为
  • Flexbox 列的垂直间距相等

    我在CSS中努力让我的Flexbox在垂直等距的列中显示项目 从而使列的每行之间的空间均匀 html body flex container margin 0 height 100 width 100 body font family Dr
  • jQuery / CSS3 动画阴影效果

    所以这个问题可能会被否决 但我认为有人可能会提供帮助 我正在寻找的效果是蓝色块像气球一样上下盘旋 当块上 下移动时 阴影在其下方不断增大和缩小 关于如何编程的任何想法 或者有人知道可以完成的教程 插件吗 你可以使用 jQuery 来完成 或
  • 行高如何使文本垂直居中?

    我试图理解为什么line heightCSS 属性将文本垂直放置在此按钮的中间 btn order width 220px height 58px font size 24px padding 0 text align center ver
  • CSS位置:绝对+动态高度

    我有 4 个 div 标签一个接一个 全在position absolute我使用它们对齐top and left 第三个 div 标签包含动态内容 并且 div 的高度根据其中的文本量而变化 然而 当我设置top and left在所有
  • 何时使用
    换行符 vs CSS 定位?

    我经常想知道如何正确使用 br 越线 似乎它们经常被错误地用于定位或清除应该使用 CSS 的内容 W3schoools org 说使用 br 适用于空白行 但不适用于创造或分离 http www w3schools com tags tag
  • 在这个页面中,悬停不起作用,我不知道为什么,而且页脚也没有占用 100% 宽度,即使我已经给了它

    我的编码是否不正确 或者悬停和页脚有什么问题 我需要知道 php 邮件程序是正确的还是我有错误 我无法找到错误 因为邮件功能在本地服务器上不起作用
  • 在引导程序中使用容器流体会导致水平滚动条

    这是一个简单的例子 div class container fluid div class row div class col lg 12 DUMMY CONTENT div div div Fiddle 演示 http jsfiddle
  • 当我尝试转发电子邮件时,时事通讯无法隐藏 Gmail 上的响应内容

    我正在尝试写一份时事通讯 但当我测试时 我无法隐藏响应式内容GMail On Outlook and Yahoo一切正常 但如果我尝试转发电子邮件 隐藏的内容就会可见 我测试使用 putsmail https putsmail com gt
  • Bootstrap:下拉菜单无法通过 jQuery 单击打开

    我正在创建一个包含多行的表 所有行都有一个 选项 按钮 该按钮应该显示下拉上下文菜单 为了使代码更短 我使用了一个div以便将其重用为上下文菜单的通用标记 我正在使用 Bootstrap 5 1 3 和 jQuery 3 6 0 以下是我的
  • 如何排除CSS伪类选择器中的最后一个子元素

    我想为从 4 到 n 1 的子 div 应用特定样式 我能够从 4 到 n 执行此操作 但无法排除最后一个 div 这是 jsfiddlehttp jsfiddle net 8WLXX http jsfiddle net 8WLXX con
  • 页面不会居中对齐

    我遇到了 CSS 问题 http www luukratief design nl dump parallax index html http www luukratief design nl dump parallax index htm
  • CSS:在 hsla 中使用 hsl 变量?

    假设我有一个 CSS 变量hsl定义如下 white 1 hsl 0deg 0 100 现在 我想使用相同的白色 但不透明度为 50 所以 像这样 white 2 hsla 0deg 0 100 50 有没有办法使用第一个变量 white
  • Bootstrap:使用单个选项卡导航控制多个选项卡面板

    我想用一个选项卡导航来控制两个不同的选项卡内容 在 Bootstrap 3 中 我有一个使用逗号分隔数据目标的解决方案 如本例所示 https stackoverflow com a 19719859 1788961 https stack
  • 带有旋转文本的垂直导航

    我正在尝试实现一个包含链接的垂直导航菜单 并且我已使用 css3 将链接文本旋转到 270 度 我旋转了它 因为我希望文本从下到上 问题是当我添加顶部填充时 间距不一致 你可以看到我的代码here http jsbin com ravudu
  • 如何使用javascript隐藏div

    我想使用 Javascript 隐藏一个 div 下面是我的div div class ui dialog titlebar ui widget header ui corner all ui helper clearfix span cl
  • 如何中和 CSS 定义而不覆盖

    有没有一种方法可以中和元素的 CSS 规则而不覆盖所有内容 例如 我正在使用 Twitter Bootstrap 它有许多预定义的 CSS 定义table 在某些地方 我不想要它们 对某些table元素 我想知道我是否可以做这样的事情 ta
  • SVG 剪辑路径在 Safari 上不起作用

    我有一个简单的动画 从下往上填充 svg 然后淡出 填充是使用clipPath随着使用path with a stroke dasharray stroke dashoffset 问题是clipPath在 Safari 上似乎完全被忽略了
  • 如何更改 div 悬停时的跨度颜色

    我正在尝试更改 div 悬停时跨度的颜色 如何使红色汉堡按钮 即跨度 在 div 悬停时将颜色更改为黑色 PS 现在它在跨度的悬停上执行此操作 JSFiddle https jsfiddle net bjjbqct8 https jsfid
  • 当td内容太宽时,表格溢出父div

    我准备了一个 JSFiddle 来解释 向你展示我的问题 http jsfiddle net nz96C http jsfiddle net nz96C 乍一看还不错 但是当我添加一些文本时 firsttd一旦使用 tds 整个宽度 整个表

随机推荐

  • 如何在 PHP 中解码 HTML 引用实体

    我有一根绳子 39 71解码时 应包含 71 我用过html entity decode addslashes and htmlspecialchars decode这些都无法让这一切回到 71 年 以下代码是我尝试过的示例 name ht
  • 通过 link_to ruby​​ on Rails 传递参数

    我有这行代码 当我使用 add to cart 方法时 我该如何调用 car car Car new params car 这不起作用 因为它说我正在尝试将其字符串化 我不明白出了什么问题 因为我用它来创建新用户并且效果很好 顺便说一句 汽
  • Java 8 接口/类加载器发生变化?

    我发现 Java 1 7 51 和 Java 1 8 20 之间存在一些困难 初始情况 一个接口 interface InterfaceA public void doSomething 两类 public class ClassA imp
  • Dagger 2 注入 Android 应用程序上下文

    我正在使用 Dagger 2 并且它可以正常工作 但是我现在需要访问Android应用程序上下文 我不清楚如何注入和访问上下文 我尝试按如下方式执行此操作 Module public class MainActivityModule pri
  • .oldValue 控件属性上出现错误 3251

    我目前正在努力向 MS Access 2010 数据库添加审计跟踪 但我正在努力解决 错误 3251 此类型对象不支持操作 这是我的审计跟踪模块的代码 大部分排列的代码来自网络 Public Function auditChanges Re
  • vstest.console.exe 可以在没有安全证书的情况下运行 appx

    我正在尝试在命令行上使用 MSBuild 在构建代理上设置自动构建 我目前关注的两个项目是 UWP 及其关联的单元测试项目 要构建 我必须使用这个 p AppxPackageSigningEnabled false 否则 我收到此错误 er
  • 如何使用CSS 3d矩阵创建弯曲变形效果

    我正在尝试使用 css3 在 ios 中复制吸吮效果 webkit transform matrix3d 财产 但是 我无法像图片中那样管理弯曲边缘 我自己最接近的解决方案如下 webkit transform matrix3d 0 85
  • 面临 XLWT 和 XLRD 的问题 - 同时读写

    我面临 xlrd 和 xlwt 的问题 粘贴示例代码 以下 from xlwt import Workbook Formula XFStyle import xlrd book Workbook sheet1 book add sheet
  • Whatsapp 如何在 iOS 中更快地从地址簿中获取更新的联系人?

    我的发现 我正在设计一个逻辑来与我的后端同步联系人 我浏览了一些在 IOS 中做同样事情的应用程序 我将以 WhatsApp 为例 我发现当我更新 Native Addressbook 中的任何联系人时 它会以一小部分反映到 Whatsap
  • 确定数组的一半以上是否在不同数组中重复

    我正在看以下内容来自 Glassdoor 的问题 http www glassdoor com Interview Given N credits cards determine if more than half of them belo
  • C 中指向指针的问题

    我试图用 C 语言编写某种列表 而不为列表的头部创建全局变量 但我遇到了一些麻烦 我最初的代码是这样的 include
  • eclipse java代码显示行号

    我需要在 eclipse 上安装哪些插件才能使 java 文件显示行号 在 xml html 上显示行号怎么样 还有一种更简单的方法 只需右键单击装订线 代码所在的编辑器窗口的左边框 并启用它们 那里有一个特定的选项
  • 是否可以在 update_item 中结合 if_not_exists 和 list_append

    我正在尝试使用update itemboto3 中 DynamoDB 的功能 我现在正在努力更新项目列表 如果列表尚不存在 我想创建一个新列表 否则附加到现有列表 使用UpdateExpression形式的SET my list list
  • 限制列只接受 2 个值

    我的表中有一个名为 患者类型 的列 我想确保只有 2 个值可以插入到该列中 无论是 opd 还是 recognize 除此之外 所有其他输入都无效 下面是我想要的一个例子 如何确保该列仅接受 opd 或 admissed 作为 患者类型 列
  • MS Sql 服务器中的累计总数[重复]

    这个问题在这里已经有答案了 可能的重复 在 Sql Server 中计算运行总计 https stackoverflow com questions 860966 calculate a running total in sqlserver
  • 将 geom_boxplot 与 geom_line 结合起来

    我想使用组合箱线图和线图ggplot2 然而 我正在努力为每个组安排线路 g 连接 x 轴上类别的点 为了演示这个问题 df lt data frame x rep letters 1 3 each 5 y c 1 5 sample 10
  • 谷歌浏览器中的 ReportViewer 问题

    我在我的 asp net mvc C 应用程序中使用 Reportviewer 在 IE 和 Firefox 中 报表查看器看起来不错 但在 Chrome 中 标题和正文会缩小 我能够按照中的建议纠正标题显示问题http www mazso
  • 如何在不刷新的情况下更新页面

    在Gmail中 当收到新邮件时 页面会自动显示该邮件而不刷新 这是怎么做到的 您可以使用以下命令定期发送 AJAX 请求window setInterval http developer mozilla org en DOM window
  • 如何在 Symfony 2 / Doctrine 中启用 ENUM

    跑步时doctrine mapping import我收到错误 请求未知的数据库类型枚举 Doctrine DBAL Platforms MySqlPlatform 可能不支持它 看来我需要设置use native enum to true
  • TamperMonkey 中的 GM_addStyle 等效项

    是否有与 GreaseMonkey 相当的 TamperMonkeyGM addStyle添加CSS的方法 在 GreaseMonkey 中 您可以向多个元素添加一堆 CSS 属性 如下所示 GM addStyle body color w