主要ブラウザで動くCSSを追加する関数
GM_addStyleの実装と最適化 - 0xFFに関連して、「IEでGM_addStyleみたいな関数ってどう書けばいいんだろ」とつぶやいたら、fubさんにcreateStyleSheetってのを教えてもらいました。で、調べてみたらcreateStyleSheetとcssTextで割と簡単に書けるみたいなので、クロスブラウザな関数にまとめてみました。
function addCSS (css){ if (document.createStyleSheet) { // for IE var sheet = document.createStyleSheet(); sheet.cssText = css; return sheet; } else { var sheet = document.createElement('style'); sheet.type = 'text/css'; var _root = document.getElementsByTagName('head')[0] || document.documentElement; sheet.textContent = css; return _root.appendChild(sheet).sheet; } }
CSSStyleSheetオブジェクトを返すので、簡単にdisabledの切り替えが出来たりします。
addCSSサンプル