Javascript 在非我的页面上重新加载CSS

Javascript 在非我的页面上重新加载CSS,javascript,jquery,css,Javascript,Jquery,Css,我试图在JS中制作一些工具栏作为GreaseMonkey脚本,我需要高对比度选项。它们已经在一些页面上实现了,但我将把它们应用到我访问的任何网站上。 我有应用高对比度的按钮,它们工作得不错,但我不知道如何恢复默认CSS。当我知道DOM树结构、类、ID等时,我发现的每个解决方案在我自己的页面上都是好的。但是正如我所说的,它应该可以在任何页面上使用 我用来做对比的是: var OA_whiteBlack_f = function(){ $("*").not("video").not(

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

我用来做对比的是:

    var OA_whiteBlack_f = function(){
    $("*").not("video").not("object").not("embed").css("cssText", "background: #000 !important; color: #fff !important;");
    };
正如你所看到的,我添加了一些。为了避免更换玩家,youtube上仍然不起作用的东西


你知道如何在页面加载时恢复样式表计算吗?

返回样式的问题是,如果这些元素中有任何现有的内联样式,你需要先存储它,这可以使用数据来完成

请注意,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'));
});