gpt4 book ai didi

javascript - 通过 JavaScript 定义 CSS 规则的最佳实践

转载 作者:行者123 更新时间:2023-11-28 19:07:31 25 4
gpt4 key购买 nike

我正在加载仅在启用 javascript 时才需要的样式表。更重要的是,如果 JavaScript 被禁用,它就不能存在。在加载任何 javascript 库之前,我会尽快(在头脑中)执行此操作。 (我正在尽可能晚地加载所有脚本)。从外部加载此样式表的代码很简单,如下所示:

var el = document.createElement('link');
el.setAttribute('href','/css/noscript.css');
el.setAttribute('rel','stylesheet');
el.setAttribute('type','text/css');
document.documentElement.firstChild.appendChild(el);

它工作正常,但目前我所有的 CSS 文件包含的是这样的:

.noscript {
display: none;
}

这并不能真正保证加载文件,所以我正在考虑在 JavaScript 中动态定义规则。 这方面的最佳做法是什么?。快速浏览各种技术表明,它需要相当多的跨浏览器黑客攻击。

附言请不要发布 jQuery 示例。这必须在没有库的情况下完成。

最佳答案

嗯。如果节省几个字节的带宽不是问题,为什么不加载所有样式表,而是在 JavaScript 中的所有类前面加上一个特定的类:

body.hasjs a { color: blue }
body.hasjs div.contactform { width: xyz; }

没有那个类(Class)的 body 服务

<body>

并添加一个添加类名的小 JavaScript,例如:

body.onload = function() {
document.body.className = "hasjs";
}

要更早地完成切换过程,您可以研究一种原生 Javascript onDOMLoad 解决方案。

关于javascript - 通过 JavaScript 定义 CSS 规则的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2570681/

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