PageSourceSearch

https://vitalchek.com/v/js/v1.0/Metrics.js

js vitalchek.com collected 2026-10-02 11:31:32 UTC 2,150 bytes, 76 lines download raw bytes

1// @dev-note-BW: I updated the javascript to ES6 and removed jQuery usage.
2
3const Metrics = {
4	setScenarioName(name) {
5		const scriptTag = document.getElementById("metricsScript");
6		const scenarioNameSelector = scriptTag.dataset.scenarioNameSelector;
7		const scenarioName = document.querySelector(scenarioNameSelector);
8
9		scenarioName.textContent = name;
10	},
11	setServerMark(mark) {
12		const scriptTag = document.getElementById("metricsScript");
13		const serverMarkSelector = scriptTag.dataset.serverMarkSelector;
14		const serverMark = document.querySelector(serverMarkSelector);
15
16		serverMark.textContent = mark;
17	},
18	getDataPageName() {
19		const scriptTag = document.getElementById("metricsPageName");
20		return scriptTag.dataset.pageName;
21	},
22	hasData: false,
23	loadable: true,
24	async sendAdHocPageView(pageName) {
25		try {
26			const requestUrl = `${baseUrl}/api/Metrics/${pageName}`;
27			const response = await fetch(requestUrl, {
28				method: 'GET',
29				credentials: 'include'
30			});
31
32			if (response.ok) {
33				const jsonValue = await response.json();
34				return jsonValue;
35			} else {
36				throw new Error("Error");
37			}
38		} catch (error) {
39			console.error(error);
40			throw error;
41		}
42	}
43};
44
45//console.log(Metrics.GetDataPageName());
46
47(async (metricsObj) => {
48	window.addEventListener('load', async () => {
49		try {
50			const requestUrl = `${baseUrl}/api/Metrics/${metricsObj.getDataPageName()}`;
51			const response = await fetch(requestUrl, {
52				method: 'GET',
53				credentials: 'include'
54			});
55
56			if (response.ok) {
57				const data = await response.json();
58				metricsObj.setScenarioName(data.scenario_name);
59				metricsObj.setServerMark(data.server_mark);
60				metricsObj.hasData = true;
61
62				if (data.heat_map_enabled === "true") {
63					const script = document.createElement("script");
64					script.type = "text/javascript";
65					script.src = data.heat_map_url;
66					script.async = true;
67					document.querySelector("head").appendChild(script);
68				}
69			} else {
70				throw new Error("Error fetching data");
71			}
72		} catch (error) {
73			console.error(error);
74		}
75	});
76})(Metrics);

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.