2012-12-19 12 views
5

संभव डुप्लिकेट:
Embedding extra styles with noscript
Define css if javascript is not enabledजावास्क्रिप्ट बंद होने पर सीएसएस शैलियों को परिभाषित करने के लिए कैसे करें?

मैं विशिष्ट सीएसएस शैलियों केवल यदि जावास्क्रिप्ट बंद कर दिया है परिभाषित करने के लिए कोशिश कर रहा हूँ। मैं उपयोग कर रहा हूँ:

<noscript> 
    <style type="text/css"> 
    .needjs {display:none !important;} 
    .mwnojs { margin-top: 40px !important; } 
    </style> 
</noscript> 

जब पेज स्रोत मान्य करने के लिए कोशिश कर रहा है, मैं त्रुटि "तत्व शैली नोस्क्रिप्ट इस संदर्भ में तत्व के बच्चे के रूप में अनुमति नहीं" मिलता है।

तो, मैं अपना मार्कअप वैध रखते हुए ऐसा करने के बारे में कैसे जाउंगा? इस तरह

+2

यक। '! महत्वपूर्ण 'का प्रयोग न करें। – gilly3

+1

आधुनिकीकरण - http://modernizr.com/ – jsweazy

+0

'महत्वपूर्ण' के साथ क्या गलत है? – JROB

उत्तर

0

कोशिश कुछ: यह पृष्ठ लोड करने

<html class="nojs"> 
<head> 
<script type="text/javascript"> 
document.getElementByTagName("html")[0].className=""; 
</script> 
<style> 
html#nojs { 
    /* do something */ 
} 
</style> 

यह एक वर्ग को हटा। यदि जावास्क्रिप्ट सक्रिय नहीं है तो कक्षा को हटाया नहीं जाएगा।

0

आप उन कक्षाओं को अपने डिफ़ॉल्ट स्टाइलशीट में रखते हुए प्राप्त कर सकते हैं और पृष्ठ लोड होने पर जावास्क्रिप्ट से छुटकारा पा सकता है। यह केवल तभी काम करेगा यदि जावास्क्रिप्ट सक्षम है अन्यथा यह वांछित शैलियों को लोड करेगा।

3

<noscript> टैग "बॉडी" टैग हैं और <style> टैग "हेड" टैग हैं। इसके लिए आपको एक त्रुटि मिलती है।

आपको गैर-जावास्क्रिप्ट शैली डिफ़ॉल्ट बनाना चाहिए और फिर अपनी शैली बदलने के लिए जेएस का उपयोग करना चाहिए। यहाँ अधिक जानकारी के लिए देखें: https://stackoverflow.com/a/218917/1068167

1

बहुत ही इस question

"के समान लगता है मान्यता मुद्दे को साफ़ करने के लिए:। नोस्क्रिप्ट केवल शरीर तत्व में अनुमति दी है, शैली केवल सिर में अनुमति इसलिए , उत्तरार्द्ध पूर्व में अनुमति नहीं है। "

इससे कोई फर्क नहीं पड़ता कि आपका <noscript> टैग कहां स्थित है।

0

उदाहरण के लिए आप इसे अन्य तरीकों से कर सकते हैं और कुछ सीएसएस फ़ाइल को जावास्क्रिप्ट के माध्यम से अक्षम कर सकते हैं जो तब नहीं होता है जब यह सक्रिय नहीं होता है।

संबंधित मुद्दे