无法删除某些网页上的灰度过滤器

Can't remove grayscale filter on some webpage

我删除灰度滤镜的代码:

// ==UserScript==
// @name         Remove Grayscale
// @namespace    Remove Grayscale
// @description  Remove Grayscale
// @version      1
// @author       You
// @match        http*://*/*
// ==/UserScript==

//var script = document.createTextNode("<style type='text/css'>html, body, img {filter:none !important; -webkit-filter:none !important;}</style>");
var script = document.createElement("script");
script.type="text/css";
script.innerHTML="html, body, img {filter:grayscale(0) !important; -webkit-filter:grayscale(0) !important;}";
document.getElementsByTagName('head')[0].appendChild(script);
//document.head.appendChild(script);

//document.head.setAttribute("style","filter:none !important; -webkit-filter:none !important;");
document.body.setAttribute("style","filter:grayscale(0) !important; -webkit-filter:grayscale(0) !important;");
document.html.setAttribute("style","filter:grayscale(0) !important; -webkit-filter:grayscale(0) !important;");

它在 pptvhd36.com 上不起作用。
怎么了?

注:

  1. 总是。如果有,您会看到如下错误:

    document.html is undefined

    您不能那样设置 <html> 样式。

  2. 仅覆盖 CSS 时,the Stylish extension 可用于大多数浏览器并且是更快更容易的选择。

  3. 对于用户脚本,继续使用 GM_addStyle

任何人,此脚本有效并消除了大部分灰色(请注意,一些图片是黑白上传的):

// ==UserScript==
// @name        pptvhd36.com, Remove Grayscale
// @match       https://www.pptvhd36.com/*
// @grant       GM_addStyle
// ==/UserScript==

GM_addStyle ( `
    html {
        filter:grayscale(0) !important;
        -webkit-filter:grayscale(0) !important;
    }
` );