1/* 2 * preuzeto sa sajta www.quirksmode.org 3 */ 4var BrowserDetect = { 5 init: function () { 6 this.browser = this.searchString(this.dataBrowser) || "An unknown browser"; 7 this.version = this.searchVersion(navigator.userAgent) 8 || this.searchVersion(navigator.appVersion) 9 || "an unknown version"; 10 this.OS = this.searchString(this.dataOS) || "an unknown OS"; 11 }, 12 searchString: function (data) { 13 for (var i=0;i<data.length;i++) { 14 var dataString = data[i].string; 15 var dataProp = data[i].prop; 16 this.versionSearchString = data[i].versionSearch || data[i].identity; 17 if (dataString) { 18 if (dataString.indexOf(data[i].subString) != -1) 19 return data[i].identity; 20 } 21 else if (dataProp) 22 return data[i].identity; 23 } 24 }, 25 searchVersion: function (dataString) { 26 var index = dataString.indexOf(this.versionSearchString); 27 if (index == -1) return; 28 return parseFloat(dataString.substring(index+this.versionSearchString.length+1)); 29 }, 30 dataBrowser: [ 31 { 32 string: navigator.userAgent, 33 subString: "Chrome", 34 identity: "Chrome" 35 }, 36 { string: navigator.userAgent, 37 subString: "OmniWeb", 38 versionSearch: "OmniWeb/", 39 identity: "OmniWeb" 40 }, 41 { 42 string: navigator.vendor, 43 subString: "Apple", 44 identity: "Safari" 45 }, 46 { 47 prop: window.opera, 48 identity: "Opera" 49 }, 50 { 51 string: navigator.vendor, 52 subString: "iCab", 53 identity: "iCab" 54 }, 55 { 56 string: navigator.vendor, 57 subString: "KDE", 58 identity: "Konqueror" 59 }, 60 { 61 string: navigator.userAgent, 62 subString: "Firefox", 63 identity: "Firefox" 64 }, 65 { 66 string: navigator.vendor, 67 subString: "Camino", 68 identity: "Camino" 69 }, 70 { // for newer Netscapes (6+) 71 string: navigator.userAgent, 72 subString: "Netscape", 73 identity: "Netscape" 74 }, 75 { 76 string: navigator.userAgent, 77 subString: "MSIE", 78 identity: "Explorer", 79 versionSearch: "MSIE" 80 }, 81 { 82 string: navigator.userAgent, 83 subString: "Gecko", 84 identity: "Mozilla", 85 versionSearch: "rv" 86 }, 87 { // for older Netscapes (4-) 88 string: navigator.userAgent, 89 subString: "Mozilla", 90 identity: "Netscape", 91 versionSearch: "Mozilla" 92 } 93 ], 94 dataOS : [ 95 { 96 string: navigator.platform, 97 subString: "Win", 98 identity: "Windows" 99 }, 100 { 101 string: navigator.platform, 102 subString: "Mac", 103 identity: "Mac" 104 }, 105 { 106 string: navigator.platform, 107 subString: "Linux", 108 identity: "Linux" 109 } 110 ] 111 112}; 113BrowserDetect.init(); 114 115function focusOnFirstElement() { 116 document.forms['securityForm'].elements['j_username'].focus(); 117}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.