0

ブラウザで CSS がオフになっているかどうかをネイティブ (jquery または libs なし) JavaScript 関数で検出する方法はありますか?

CSSをオフにすることができるので、チェックする機能を探しています。

助けてください

4

2 に答える 2

2

次のようなブルー​​ト フォース スタイルのテストはどうでしょうか。

function testCss(){
     var div, width, flag = true;
     div = document.createElement('div');
     document.body.appendChild('div');
     div.style.width = "10"; 
     if (div.offsetWidth != 10){  
         flag = false;
     }
     div.style.width = "20px";  
    if (div.offsetWidth != 20){
         flag = false;
     }
     document.body.removeChild(div); 
     return flag;
}

上記は div 要素の幅を設定します。
問題の div の幅が設定されているかどうかを確認します。
次に、同じことをもう一度繰り返しますが、幅が 10px で既に設定されている場合に備えて、幅を 20px にします。
最後に、div を削除します。
ネイティブで行うためのより良い方法がある可能性が最も高いですが、これは迅速な解決策でした.

それがうまくいくかどうかは100%確信が持てませんが、それが一般的な考えです。

それが役に立てば幸い

于 2013-03-06T12:46:47.403 に答える
0

上に投稿した同じリンクから、

var cssdisabled = false; // must be proven otherwise
var testcss = document.createElement('div');
testcss.style.position = 'absolute';
document.getElementsByTagName('body')[0].appendChild(testcss);
if (testcss.currentStyle) var currstyle = testcss.currentStyle['position'];
else if (window.getComputedStyle) var currstyle = document.defaultView.getComputedStyle(testcss, null).getPropertyValue('position');
var cssdisabled = (currstyle == 'static') ? true : false;
document.getElementsByTagName('body')[0].removeChild(testcss);
于 2013-03-06T12:46:11.760 に答える