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