2011-12-13 5 views
18

मैं दो अलग-अलग पृष्ठभूमि रंगों को निर्दिष्ट करना चाहता हूं, एक मैक ओएस के लिए, विंडोज के लिए एक।क्या विंडोज का पता लगाने के लिए कोई सीएसएस मीडिया क्वेरी है?

+0

में कवर किया जाता है इस उत्तर को देखें: http://stackoverflow.com/questions/2661540/detecting-the-operating-system-using-jquery-or -सीएसएस उम्मीद है कि यह मदद करता है। – ricardordz

+0

http://rafael.adm.br/css_browser_selector/ – welldan97

+1

का उपयोग करने पर विचार करें क्या यह सिर्फ एक डिज़ाइन विकल्प है, या आप कुछ समस्या हल करने के लिए ऐसा कर रहे हैं? – thirtydot

उत्तर

18

वेबपृष्ठ देखने के लिए प्रयोग किया जाता है ओएस निर्दिष्ट करने के लिए कोई संपत्ति नहीं है, लेकिन आप जावास्क्रिप्ट के साथ यह पता लगा सकते हैं, यहाँ ऑपरेटिंग सिस्टम का पता लगाने के लिए कुछ उदाहरण है:

var OSName="Unknown OS"; 
if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows"; 
if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS"; 
if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX"; 
if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux"; 

console.log('Your OS: '+OSName); 

यह ?, अब आप document.write साथ खेल सकते हैं मिल गया विशिष्ट ऑपरेटिंग सिस्टम के लिए डाउनलोड स्टाइलशीट लिखने के लिए। :)

एक और उदाहरण, मुझे लगता है कि आप jquery का उपयोग कर रहे हैं।

if (navigator.appVersion.indexOf("Win")!=-1) 
{ 
    $(body).css('background','#333'); 
} else { 
    $(body).css('background','#000'); // this will style body for other OS (Linux/Mac) 
} 
0

सीएसएस में, संभव नहीं है। अधिकतर @media फ़िल्टर है ताकि आप मोबाइल डिवाइस बनाम लक्षित कर सकें। डेस्कटॉप डिवाइस, लेकिन @os प्रकार फ़िल्टर नहीं है।

आप IE के सशर्त टैग के साथ इसे प्राप्त कर सकते हैं:

<link rel="stylesheet" href="everyone.css" type="text/css" /> 
<!--[if IE]> 
<link rel="stylesheet" href="ie.css" type="text/css" /> 
<![endif]--> 

'हर किसी' सीएसएस में मैक विशेष शैलियों रखो, और फिर ओवरराइड जो कुछ आईई संस्करण में आवश्यक है।

बेशक, यह असफल हो जाएगा यदि आप एक ऐसे उपयोगकर्ता को प्राप्त करते हैं जो मैक संस्करण के लिए (प्राचीन) आईई पर है, लेकिन सभी आधुनिक उपयोगकर्ताओं को कवर करना चाहिए।

+4

के लिए संस्करण तो आप मान रहे हैं कि सभी विंडोज उपयोगकर्ता इंटरनेट एक्सप्लोरर का उपयोग करते हैं? – ptriek

+0

माइक्रोसॉफ्ट निश्चित रूप से आपको पसंद करेंगे ... –

+2

क्षमा करें आदमी, ओएस विशिष्ट होना चाहिए। विंडोज उपयोगकर्ता भी अन्य ब्राउज़रों का उपयोग करते हैं – colmtuite

2

यह नवीनतम मोज़िला संस्करण में उपलब्ध है।

  • windows-एक्सपी
  • windows-विस्टा
  • windows-Win7
  • windows-Win8

समर्थन सीमित है:

-moz-os-संस्करण निम्न मान प्रदान करता है https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries

@media (-moz-os-version: windows-xp), (-moz-os-version: windows-vista), 
(-moz-os-version: windows-win7), (-moz-os-version: windows-win8) { 
    body{ 
     background-color: white; 
    } 
} 
1

फ़ायरफ़ॉक्स के पुराने संस्करण विंडोज़ का पता लगा सकते हैं (उन लोगों के लिए जो ऑटोऑपडेट का उपयोग नहीं कर रहे हैं) और संस्करण 4 या नए का उपयोग कर रहे हैं। यह अधिक बुनियादी है और संस्करण को नहीं बताता है, केवल तथ्य यह है कि आप विंडोज़ में हैं। मैंने इसे थोड़ी देर पहले परीक्षण के लिए बनाया क्योंकि मैं उत्सुक था।

@media screen and (-moz-windows-theme) { 
    body { 
     background-color: white; 
    } 
} 
इस

भी https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries

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