

Коллектив Electronoff ⚡ поздравляет Вас с наступающим Новым Годом! Желаем вам в грядущем году мира, добра, здоровья, как можно больше тепла и уюта, неисчерпаемых жизненных сил, достижения поставленных целей. Пусть новый год сопровождается только положительными эмоциями и знаменательными событиями.
Мы искренне старались быть Вам полезными, поэтому надеемся радовать и впредь. Спасибо, что выбрали нас!
График работы на Новогодние праздники:
- 31.12 - сокращенный день, с 09.00 до 14.00
- 01-03.01 - выходные
- 04-05.01 - полный рабочий день, с 09.00 до 20.00
- 06.01 - сокращенный день, с 09.00 до 17.00
- 07-09.01 - выходные
- С 10.01 - в обычном режиме
Опубликовано: 2021-12-29
Обновлено: 2021-12-29
Автор: Магазин Electronoff
(function (window, document) {
var apiPromise = null;
var apiUrl = 'https://www.google.com/recaptcha/api.js?render=explicit';
var errorText = 'Не удалось загрузить проверку безопасности. Попробуйте ещё раз.';
var confirmText = 'Подтвердите, что вы не робот.';
function loadApi() {
if (window.grecaptcha && typeof window.grecaptcha.render === 'function') {
return Promise.resolve(window.grecaptcha);
}
if (apiPromise) {
return apiPromise;
}
apiPromise = new Promise(function (resolve, reject) {
var existing = document.querySelector('script[data-recaptcha-api]');
if (existing) {
existing.addEventListener('load', function () {
resolve(window.grecaptcha);
});
existing.addEventListener('error', reject);
return;
}
var script = document.createElement('script');
script.src = apiUrl;
script.async = true;
script.defer = true;
script.setAttribute('data-recaptcha-api', 'true');
script.onload = function () {
resolve(window.grecaptcha);
};
script.onerror = reject;
document.head.appendChild(script);
});
return apiPromise;
}
function setMessage(container, text) {
var message = container.parentNode ? container.parentNode.querySelector('[data-recaptcha-message="' + container.id + '"]') : null;
if (!text) {
if (message) {
message.parentNode.removeChild(message);
}
return;
}
if (!message) {
message = document.createElement('div');
message.setAttribute('data-recaptcha-message', container.id);
container.parentNode.insertBefore(message, container.nextSibling);
}
message.textContent = text;
}
function render(container) {
if (!container || container.getAttribute('data-recaptcha-rendered') === 'true') {
return Promise.resolve(container);
}
var sitekey = container.getAttribute('data-sitekey');
if (!sitekey) {
return Promise.reject(new Error('Missing reCAPTCHA sitekey'));
}
setMessage(container, 'Загрузка проверки безопасности...');
return loadApi().then(function (grecaptcha) {
if (!grecaptcha || typeof grecaptcha.render !== 'function') {
throw new Error('reCAPTCHA API is unavailable');
}
if (container.getAttribute('data-recaptcha-rendered') === 'true') {
return container;
}
container.innerHTML = '';
var widgetId = grecaptcha.render(container, {
sitekey: sitekey
});
container.setAttribute('wid', widgetId);
container.setAttribute('data-recaptcha-rendered', 'true');
setMessage(container, '');
return container;
}).catch(function (error) {
setMessage(container, errorText);
throw error;
});
}
function reset(container) {
if (!container || container.getAttribute('data-recaptcha-rendered') !== 'true') {
return;
}
if (window.grecaptcha && typeof window.grecaptcha.reset === 'function') {
window.grecaptcha.reset(container.getAttribute('wid'));
}
}
function getResponse(container) {
if (!window.grecaptcha || typeof window.grecaptcha.getResponse !== 'function') {
return '';
}
return window.grecaptcha.getResponse(container.getAttribute('wid'));
}
function stopSubmit(event) {
event.preventDefault();
event.stopPropagation();
event.stopImmediatePropagation();
}
function bindContainer(container) {
if (container.getAttribute('data-recaptcha-bound') === 'true') {
return;
}
container.setAttribute('data-recaptcha-bound', 'true');
var form = container.closest('form');
var start = function () {
render(container).catch(function () {});
};
if (form) {
form.addEventListener('focusin', start, { once: true });
form.addEventListener('click', start, { once: true });
form.addEventListener('submit', function (event) {
if (container.getAttribute('data-recaptcha-rendered') !== 'true') {
stopSubmit(event);
render(container).then(function () {
container.scrollIntoView({ block: 'center', behavior: 'smooth' });
}).catch(function () {});
return;
}
if (!getResponse(container)) {
stopSubmit(event);
setMessage(container, confirmText);
container.scrollIntoView({ block: 'center', behavior: 'smooth' });
}
}, true);
}
document.addEventListener('opened', function (event) {
if (event.target && event.target.contains(container)) {
render(container).catch(function () {});
}
});
}
function init() {
var containers = document.querySelectorAll('[data-recaptcha-lazy]');
for (var i = 0; i < containers.length; i++) {
bindContainer(containers[i]);
}
if (window.jQuery) {
window.jQuery(document).on('opened', '.remodal', function () {
var modalContainers = this.querySelectorAll('[data-recaptcha-lazy]');
for (var i = 0; i < modalContainers.length; i++) {
render(modalContainers[i]).catch(function () {});
}
});
}
}
window.LazyRecaptcha = {
load: loadApi,
render: render,
reset: reset
};
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', init);
} else {
init();
}
})(window, document);