2011-08-13 16 views
11

इम एक जावा स्क्रिप्ट कोड के विकास और मैं संस्करण और ग्राहक के ब्राउज़र के ब्रांड का निर्धारण करना चाहते हैं, यहाँ कोड का टुकड़ा मैं ऐसा करने के लिए उपयोग कर रहा हूँ है:जावास्क्रिप्ट में "navigator.userAgent" क्यों Google क्रोम borwser में कोशिश की जब स्ट्रिंग "मोज़िला" देता है?

var browserName ; 
function BrowserCheckin() 
{ 

    if(navigator.userAgent.indexOf("Mozilla") > 0) 
     browserName = "Mozilla" ; 
    if (navigator.userAgent.indexOf("MSIE") > 0) 
     browserName = "InternetExplorer"; 
    if (navigator.userAgent.indexOf("Chrome") > 0) 
     browserName= "Google Chrome" ; 
    if(navigator.userAgent.indexOf("Opera") > 0) 
     browserName = "Opera" ; 
    document.write("<h1>" + browserName + "</h1>") ; 
} 

लेकिन जब मैं अपने कोड का उपयोग कर "गूगल चलाने (; लिनक्स x86_64 X11) AppleWebKit/534.30 (KHTML, छिपकली की तरह) क्रोम/12.0.742.112 Safari/534.30 "

Mozilla/5.0: क्रोम"

, useAgent संपत्ति एक स्ट्रिंग containting रिटर्न "

लेकिन मुझे यह नहीं मिला कि "मोज़िला/5.0" क्या कर रहा है, किसी के पास कोई विचार है?
(और एक और बात, मैं लिनक्स मेरी ऑपरेटिंग सिस्टम के रूप में उपयोग) पहले से

धन्यवाद लगभग सभी ब्राउज़रों (ओपेरा को छोड़कर) आगे जोड़ते Mozilla/ अपने उपयोगकर्ता एजेंट को :)

+5

यदि आप कार्यक्षमता को सक्षम/अक्षम करना चाहते हैं, तो आपको ब्राउज़र पहचान के बजाए सुविधा का पता लगाना चाहिए। –

+0

@Damien_The_Unbeliever: मैं उसमें देख लूंगा, आप सही हैं :) अगर यह एक उत्तर था तो मैं इसे सबसे अच्छा जवाब के रूप में चुना होता :) धन्यवाद –

उत्तर

19

historical reasons के लिए,।

उदाहरण के लिए, यहाँ कुछ सामान्य उपयोगकर्ता एजेंट हैं:

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.30 (KHTML, like Gecko) 
      Chrome/12.0.742.112 Safari/534.30     # Chrome 12 
Mozilla/5.0 (X11; Linux x86_64) Gecko Firefox/5.0    # FF 5 
Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)  # IE 9 
Opera/9.80 (Windows NT 5.1; U; en) Presto/2.8.119 Version/11.10 # Opera 11.10 

विस्तृत सूची के लिए, onlinedatabases को देखें।

+0

धन्यवाद, बहुत तेज़, लेकिन यह ओपेरा और आईई के मामले में नहीं है। उनके पास उनके उपयोगकर्ता एजेन्ट में 'मोज़िला /' नहीं है। –

+1

हां, वे करते हैं। –

+0

@ डेलन अज़बानी: यह ओपेरा देता है: ओपेरा/9 .80 (एक्स 11; लिनक्स x86_64; यू; एन) प्रेस्टो/2.9.168 संस्करण/11.50 –

2

क्रोम के लिए उपयोगकर्ता एजेंट स्ट्रिंग है। ऐतिहासिक कारणों से इसका नाम मोज़िला है। यहां तक ​​कि मजेदार नहीं है जब आप इंटरनेट एक्सप्लोरर के लिए उपयोगकर्ता एजेंट स्ट्रिंग में मोज़िला देखते हैं :)

इस लिंक में क्रोम के लिए UA स्ट्रिंग हैं, तो आप इसे उपयोगी पा सकते हैं: http://www.useragentstring.com/pages/Chrome/

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