PageSourceSearch

https://www.mainereview.com/wp-content/themes/northstar-theme/_static/js/browser-detect.js?ver=1.0.1791065521

js mainereview.com collected 2026-10-03 23:12:02 UTC 2,140 bytes, 53 lines download raw bytes

1/*
2** Detect the browser and version, and add as classes to the html el
3** This function is in a separate JS file so it can be loaded in the header before everything loads
4*/
5
6var BrowserDetect = {
7    init: function () {
8        this.browser = this.searchString(this.dataBrowser) || "Other";
9        this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "Unknown";
10    },
11    searchString: function (data) {
12        for (var i = 0; i < data.length; i++) {
13            var dataString = data[i].string;
14            this.versionSearchString = data[i].subString;
15
16            if (dataString.indexOf(data[i].subString) !== -1) {
17                return data[i].identity;
18            }
19        }
20    },
21    searchVersion: function (dataString) {
22        var index = dataString.indexOf(this.versionSearchString);
23        if (index === -1) {
24            return;
25        }
26
27        var rv = dataString.indexOf("rv:");
28        if (this.versionSearchString === "Trident" && rv !== -1) {
29            return parseFloat(dataString.substring(rv + 3));
30        } else {
31            return parseFloat(dataString.substring(index + this.versionSearchString.length + 1));
32        }
33    },
34
35    dataBrowser: [
36        {string: navigator.userAgent, subString: "Edge", identity: "MS Edge"},
37        {string: navigator.userAgent, subString: "MSIE", identity: "Explorer"},
38        {string: navigator.userAgent, subString: "Trident", identity: "Explorer"},
39        {string: navigator.userAgent, subString: "Firefox", identity: "Firefox"},
40        {string: navigator.userAgent, subString: "Opera", identity: "Opera"},
41        {string: navigator.userAgent, subString: "OPR", identity: "Opera"},
42
43        {string: navigator.userAgent, subString: "Chrome", identity: "Chrome"},
44        {string: navigator.userAgent, subString: "Safari", identity: "Safari"}
45    ]
46};
47
48BrowserDetect.init();
49
50// Get the HTML element and add the classes to it
51var html = document.getElementsByTagName('html')[0];
52html.classList.add('browser-' + BrowserDetect.browser);
53html.classList.add(BrowserDetect.browser + '-' + BrowserDetect.version);

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.