PageSourceSearch

https://oniks-clinic.ru/site_files/js/og.js?v=1791586729

js oniks-clinic.ru collected 2026-10-09 22:59:03 UTC 6,865 bytes, 172 lines download raw bytes

1//Функция добавления нового OG элемента на сайт
2function addOGElement(name, content) {
3	element = document.createElement("meta")
4	element.setAttribute("property", name)
5	element.setAttribute("content", content)
6	document.querySelector("head").appendChild(element)
7}
8
9//Функция для форматирования даты
10function dateFormat(dateFormat, date) {
11	let separator = dateFormat.slice(1, 2);
12	let parts = dateFormat.split(separator);
13	let obj1 = {}, obj2 = {};
14	let toReplace = new RegExp("[^+\\d" + separator + "0-9]", "g");
15	dateResult = date.replace(toReplace, '');
16	dateResult = date.split(separator);
17	parts.forEach((e, i) => {
18		dateResult[i] = (dateResult[i].length === 1) ? `0${dateResult[i]}` : dateResult[i];
19		obj1[e] = dateResult[i];
20	});
21	dateResult = `${obj1['г']}-${obj1['м']}-${obj1['д']}`;
22	dateResult.trim().replace(' ', '')
23
24	return dateResult;
25}
26
27//Основная функция построение OG разметки
28function create_og(og_options) {
29	//Получаем название сайта
30	const title = og_options.title || "Наркологическая клиника"
31	//Получаем логотип
32	if (document.querySelector(og_options.logo)) {
33		if (document.querySelector(og_options.logo).src) {
34			var logo = document.querySelector(og_options.logo).src
35		} else {
36			var logo = document.querySelector(og_options.logo).currentSrc
37		}
38		var logoAlt = document.querySelector(og_options.logo).alt
39	} else if (og_options.showlogs) {
40		console.log("OG : Не найден логотип")
41	}
42	//Получаем текущую дату
43	today = new Date()
44	dd = String(today.getDate()).padStart(2, '0')
45	mm = String(today.getMonth() + 1).padStart(2, '0')
46	yyyy = today.getFullYear()
47	const todayDate = `${yyyy}-${mm}-${dd}`
48
49	addOGElement("og:title", document.querySelector("title").innerHTML.trim())
50	addOGElement("og:description", document.querySelector("meta[name=description]").getAttribute("content"))
51	if (document.querySelector("link[rel=canonical]")) {
52		addOGElement("og:url", document.querySelector("link[rel=canonical]").getAttribute("href"))
53	} else if (og_options.showlogs) {
54		console.log("OG : Не найден каноникал сайта,в качесте URL в разметке будет использован текущий адрес")
55		addOGElement("og:url", window.location.href)
56	}
57
58	//Пытаемся формировать разметку картинки
59	if (!og_options.img) {
60		if (og_options.showlogs) {
61			console.log("OG : Не указан селектор изображения для разметки, будет использован логотип")
62			if (logo) {
63				addOGElement("og:image", logo)
64				addOGElement("og:image:alt", logoAlt)
65			} else {
66				console.log("OG : Блин, лотипа тоже нет, проверь настройки")
67			}
68		}
69	} else {
70		if (document.querySelector(og_options.img)) {
71			if (document.querySelector(og_options.img).src) {
72				img = document.querySelector(og_options.img).src
73			} else {
74				img = document.querySelector(og_options.img).currentSrc
75			}
76			addOGElement("og:image", img)
77			addOGElement("og:image:alt", document.querySelector(og_options.img).alt)
78		}
79		else {
80			if (og_options.showlogs) {
81				console.log("OG : Не найдено изображения для разметки, будет использован логотип")
82			}
83			if (logo) {
84				addOGElement("og:image", logo)
85				addOGElement("og:image:alt", logoAlt)
86			} else {
87				console.log("OG : Блин, лотипа тоже нет, проверь настройки")
88			}
89		}
90	}
91	addOGElement("og:site_name", title)
92	addOGElement("og:locale", "ru_RU")
93
94
95	if (!og_options.doctor) {
96		if (og_options.showlogs) {
97			console.log("OG : не указан селектор врача")
98		}
99	} else if (document.querySelectorAll(og_options.doctor).length > 0) {
100		addOGElement("og:type", "article")
101		if (!og_options.dateForm) {
102			if (og_options.showlogs) {
103				console.log("OG : Не найден формат даты, будут использованы стандартные значения")
104			}
105			var publicDate = "2024-04-26"
106			var updateDate = todayDate
107		}
108		if (!og_options.datePub) {
109			if (og_options.showlogs) {
110				console.log("OG : не указан селектор даты публикации, будет использована стандартная дата")
111			}
112		} else {
113			if (document.querySelectorAll(og_options.datePub).length > 0) {
114				var publicDate = dateFormat(og_options.dateForm, document.querySelector(og_options.datePub).innerHTML.trim())
115			} else {
116				if (og_options.showlogs) {
117					console.log("OG : Дата публикации не найдена будет использована стандартная дата")
118				}
119				var publicDate = "2024-04-26"
120			}
121		}
122		if (!og_options.dateUpd) {
123			if (og_options.showlogs) {
124				console.log("OG : не указан селектор даты обновления, будет использована сегодняшняя дата")
125			}
126			var updateDate = todayDate
127		} else {
128			if (document.querySelectorAll(og_options.dateUpd).length > 0) {
129				var updateDate = dateFormat(og_options.dateForm, document.querySelector(og_options.dateUpd).innerHTML.trim())
130			} else {
131				if (og_options.showlogs) {
132					console.log("OG : Дата обновления не найдена будет использована стандартная дата")
133				}
134				var updateDate = todayDate
135			}
136		}
137		addOGElement("article:author", document.querySelector(og_options.doctor).innerHTML.trim())
138		addOGElement("article:published_time", `${publicDate}T08:00:00+03:00`)
139		addOGElement("article:modified_time", `${updateDate}T08:00:00+03:00`)
140
141		if (!og_options.category) {
142			if (og_options.showlogs) {
143				console.log("OG : Не указан селектор категории, ну и хрен с ним")
144			}
145		} else {
146			if (document.querySelectorAll(og_options.category) > 0) {
147				addOGElement("article:section", document.querySelector(og_options.category).innerHTML.trim)
148			} else {
149				console.log("OG : Не найдена категория статьи")
150			}
151		}
152
153		if (!og_options.tags) {
154			if (og_options.showlogs) {
155				console.log("OG : Не указан селектор тегов, ну и хрен с ним")
156			}
157		} else {
158			if (document.querySelectorAll(og_options.tags) > 0) {
159				tags = document.querySelectorAll(og_options.tags)
160				content = tags[0].innerHTML.trim()
161				for (let i = 1; i < tags.length; i++) {
162					content = content + " ," + tags[i].innerHTML.trim()
163				}
164				addOGElement("article:article:tag", content)
165			} else {
166				console.log("OG : Не найдены теги на статье")
167			}
168		}
169	} else {
170		addOGElement("og:type", "website")
171	}
172}

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.