कैसे लिखें ब्राउज़र विशिष्ट कोड को PHP के साथ

PHP में ShortLikeAFox द्वारा 21 जुलाई, 2008 को पोस्ट

तो आपको लगता है कि केवल कुछ ब्राउज़रों पर प्रदर्शित कोड लिखने के लिए चाहता हूँ ... कुछ कारणों से ऐसा करना चाहते करने के लिए एक नंबर रहे हैं. मैं व्यक्तिगत रूप से ऐसा करने की ज़रूरत पहली बार जब मैं एक निश्चित पृष्ठ पर एक mp3 एम्बेड करने के लिए कोशिश कर रहा था हुई. मैं इतना है कि mp3 (आईई, फ़ायरफ़ॉक्स, और ओपेरा) पर मैं परीक्षण के ब्राउज़रों पर खेलना होता है और मान्य एक ही समय पर कोड नहीं लिख सकता है किसी कारण के लिए. अगर मुझे सही याद है, यह इंटरनेट एक्सप्लोरर है कि इस समस्या पैदा कर दी गई थी. के साथ, जब उपयोगकर्ता IE का उपयोग कर रहा था, पता लगाने के लिए एक छोटी सी PHP का उपयोग करने के लिए गया था और फिर मैं आया इसका समाधान है कि अगर मामला था mp3 गैर में मान्य कोड एम्बेड.

क्योंकि W3C validator IE के रूप में ही पहचान कभी नहीं यह समाधान के mp3 हमेशा सही ढंग से और खेल पृष्ठ हमेशा मान्य करने के लिए, का नेतृत्व किया. यह W3C अनुपालन तक पहुँचने के लिए सबसे अधिक नैतिक रास्ता नहीं हो सकता है, लेकिन यह काम करता है.

एक और बार मैं ब्राउज़र विशिष्ट कोड लिखने के लिए की आवश्यकता होगी, याद है जब मैं ठीक से मेरी. PNG छवियों को प्रदर्शित नहीं IE 6 के साथ एक समस्या थी. मैं आसपास googled और इस समस्या के समाधान के लिए कुछ पाया है, लेकिन उन दोनों के ऊपर अपने पन्नों पर समग्र परत स्थानों से खिलवाड़ समाप्त हो गया. इसके बजाय कि समस्या समस्या निवारण की, मैं जल्दी हल के साथ गए और प्रदर्शन करने का निर्णय लिया. Gifs जब उपयोगकर्ता IE 6 था. यदि उपयोगकर्ता था कि एक अन्य ब्राउज़र की थी. मुझे लगता है कि उसके लिए बहुत बुरा लगा था png समस्याओं.

यह कैसे करना है:

पहले तुम कोड की एक छोटी लाइन लिखने के लिए क्या किया है अपने उपयोगकर्ता को ब्राउज़र पता करने की जरूरत है. ये कैसे करना है कि PHP के साथ:

  • 'HTTP_USER_AGENT' ]; $ visitorsOS = $ _SERVER [ 'HTTP_USER_AGENT'];

यहाँ क्या $ visitorsOS के तीन उदाहरण हैं की तरह देख सकते हैं

  • Mozilla/4.0 (संगत; MSIE 6.0, Windows NT 5.1; SV1;. NET CLR 1.0.3705;. NET
  • Opera/9.51 (Windows NT 5.1; यू; pl)
  • Mozilla/5.0 (Windows, यू, Windows NT 5.1, en-us; rv: 1.9) Gecko/2008052906 फ़ायरफ़ॉक्स

पहली उपयोगकर्ता इंटरनेट एक्सप्लोरर 6 है, ओपेरा 9,51, और तीसरे फ़ायरफ़ॉक्स सेकंड.

की तुलना में हम वास्तव में हम डालने की जरूरत आगंतुक के कंप्यूटर के बारे में अब जरूरत है कि हम और अधिक जानकारी पता है कि अच्छी जानकारी का उपयोग करने के लिए. तुम अगर उपयोगकर्ता इंटरनेट एक्सप्लोरर का कोई भी संस्करण चला रहा है कि केवल दिखेंगे कोड लिखना चाहते कहो. तुम्हें यह नहीं होता है कि मामले में:

(’MSIE’,$visitorsOS)){ (eregi ( 'MSIE', $ visitorsOS)) (अगर

कोड जो USER IF दिखाई ही WILL आईई HAS

)

और (

अन्य सभी मामलों में कोड जो WILL प्रकट

)

मैं बजाय ereg, संवेदनशील नियमित अभिव्यक्ति मैच एक मामले मैच eregi, एक मामले असंवेदनशील नियमित अभिव्यक्ति का उपयोग करें. अगर मैं इस व्यामोह से बाहर है, या है अगर मैं वास्तव में एक मामला जहां इंटरनेट एक्सप्लोरर ही msie के रूप में पहचान मिली मुझे याद नहीं है. इसलिए यह मैं क्या फायदा है या तो eregi मामले में कुछ भी चोट नहीं होगा. केवल एक छोटा सा बदलाव की आवश्यकता होगी आईई का विशेष संस्करण के लिए कोड लिखने के लिए चाहता है. के बजाय ... अगर मुझे लगता है कि केवल MSIE 6.0 के लिए दिखाई कोड चाहता (eregi ( 'MSIE' ...) मैं (eregi ( 'MSIE 6.0' ...) जैसे कुछ का प्रयोग करेंगे.