gpt4 book ai didi

javascript - 在不是我的页面上重新加载 CSS

转载 作者:行者123 更新时间:2023-11-28 08:05:13 25 4
gpt4 key购买 nike

我正在尝试在 JS 中制作某种工具栏作为 GreaseMonkey 脚本,我需要高对比度选项。它们已经在几个页面上实现了,但我将把它们应用到我正在访问的任何网站上。我有应用高对比度的按钮,它们工作得很好,但我不知道如何恢复默认 CSS。当我知道 DOM 树结构、类、ID 等时,我找到的每个解决方案在我自己的页面上使用时都很好。但正如我所说,它应该适用于任何页面。

我用来做对比的是:

    var OA_whiteBlack_f = function(){
$("*").not("video").not("object").not("embed").css("cssText", "background: #000 !important; color: #fff !important;");
};

如您所见,我添加了一些 .not 以避免更换播放器(在 youtube 上仍然不起作用)

关于如何在页面加载时恢复样式表计算机的任何想法?

最佳答案

返回样式的问题是,如果这些元素中的任何一个存在任何现有的内联样式,您需要首先存储它,您可以使用 data()

请注意,cssText 会清除所有可能在某些页面中出现问题的现有内联样式

var $elements = $("*").not("video,object,embed").each(function () {
var $el = $(this),
currStyle = $el.attr('style') || '';
$el.data('stored_style', currStyle ).css("cssText", "background: #000 !important; color: #fff !important;");
});

要撤消...遍历所有元素并用存储的值替换样式属性

$elements.each(function () {
var $el = $(this);
$el.attr('style', $el.data('stored_style'));
});

关于javascript - 在不是我的页面上重新加载 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29524464/

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