[英]Best practice for defining CSS rules via JavaScript
我正在加載僅在啟用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中動態定義規則。 最佳做法是什么? 。 快速瀏覽各種技術表明,它需要相當多的跨瀏覽器黑客。
PS請不要發布jQuery示例。 這必須在沒有庫的情況下完成。
嗯 如果節省幾個字節的帶寬不是問題,為什么不加載所有樣式表,而是在JavaScript中的所有類前面加上特定的類:
body.hasjs a { color: blue }
body.hasjs div.contactform { width: xyz; }
沒有那個階級就為身體服務
<body>
並添加一個微型JavaScript,以添加類名稱,例如:
body.onload = function() {
document.body.className = "hasjs";
}
為了更早地完成切換過程,您可以研究一種本機Javascript onDOMLoad解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.