PageSourceSearch

https://www.webforditas.hu/imports/dictTab/js/browser.js

js webforditas.hu collected 2026-09-24 20:33:55 UTC 3,038 bytes, 128 lines download raw bytes

1
2//browser detection (http://www.quirksmode.org/js/detect.html)
3var BrowserDetect = {
4	init: function () {
5		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
6		this.version = this.searchVersion(navigator.userAgent)
7			|| this.searchVersion(navigator.appVersion)
8			|| "an unknown version";
9		this.OS = this.searchString(this.dataOS) || "an unknown OS";
10	},
11	searchString: function (data) {
12		for (var i=0;i<data.length;i++)	{
13			var dataString = data[i].string;
14			var dataProp = data[i].prop;
15			this.versionSearchString = data[i].versionSearch || data[i].identity;
16			if (dataString) {
17				if (dataString.indexOf(data[i].subString) != -1)
18					return data[i].identity;
19			}
20			else if (dataProp)
21				return data[i].identity;
22		}
23	},
24	searchVersion: function (dataString) {
25		var index = dataString.indexOf(this.versionSearchString);
26		if (index == -1) return;
27		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
28	},
29	dataBrowser: [
30		{
31			string: navigator.userAgent,
32			subString: "Chrome",
33			identity: "Chrome"
34		},
35		{ 	string: navigator.userAgent,
36			subString: "OmniWeb",
37			versionSearch: "OmniWeb/",
38			identity: "OmniWeb"
39		},
40		{
41			string: navigator.vendor,
42			subString: "Apple",
43			identity: "Safari",
44			versionSearch: "Version"
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.userAgent,
107			   subString: "iPhone",
108			   identity: "iPhone/iPod"
109	    },
110		{
111			string: navigator.platform,
112			subString: "Linux",
113			identity: "Linux"
114		}
115	]
116
117};
118BrowserDetect.init();
119
120
121//check browser...
122var old_browser = false;
123if ((BrowserDetect.browser == "Firefox" && BrowserDetect.version < 1) ||
124	(BrowserDetect.browser == "Explorer" && BrowserDetect.version < 6) ||
125	(BrowserDetect.browser == "Opera" && BrowserDetect.version < 7)){
126	old_browser = true;
127	document.write( get_text("old browser"));
128}

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.