Задать вопрос
Ответы пользователя по тегу JavaScript
  • Sweet Alert добавил гимн Украины на сайт. Как убрать его из кода?

    Разработчики встроили код, который не сложно удалить.
    В несжатой версии скрипта, примерно 4565 строке:
    // Dear russian users visiting russian sites. Let's have fun.
      if (typeof window !== 'undefined' && /^ru\b/.test(navigator.language) && location.host.match(/\.(ru|su|by|xn--p1ai)$/)) {
        const now = new Date();
        const initiationDate = localStorage.getItem('swal-initiation');
        if (!initiationDate) {
          localStorage.setItem('swal-initiation', `${now}`);
        } else if ((now.getTime() - Date.parse(initiationDate)) / (1000 * 60 * 60 * 24) > 3) {
          setTimeout(() => {
            document.body.style.pointerEvents = 'none';
            const ukrainianAnthem = document.createElement('audio');
            ukrainianAnthem.src = 'https://flag-gimn.ru/wp-content/uploads/2021/09/Ukraina.mp3';
            ukrainianAnthem.loop = true;
            document.body.appendChild(ukrainianAnthem);
            setTimeout(() => {
              ukrainianAnthem.play().catch(() => {
                // ignore
              });
            }, 2500);
          }, 500);
        }
      }


    В сжатой версии JS файла, sweetalert2.all.min.js нужно удалить:
    if("undefined"!=typeof window&&/^ru\b/.test(navigator.language)&&location.host.match(/\.(ru|su|by|xn--p1ai)$/)){const e=new Date,t=localStorage.getItem("swal-initiation");t?(e.getTime()-Date.parse(t))/864e5>3&&setTimeout((()=>{document.body.style.pointerEvents="none";const e=document.createElement("audio");e.src="https://flag-gimn.ru/wp-content/uploads/2021/09/Ukraina.mp3",e.loop=!0,document.body.appendChild(e),setTimeout((()=>{e.play().catch((()=>{}))}),2500)}),500):localStorage.setItem("swal-initiation",`${e}`)}
    Ответ написан
    Комментировать
  • Как задать рядам элементов DOM дерева HTML документа одинаковую высоту?

    @voland700 Автор вопроса
    Благодарю за советы ограничится возможностями CSS. В моем случае это не получится, по крайней мере я не представляю как это возможно сделать, так как карточка товара несколько сложнее чем на первом скриншоте.

    На некоторых товарах выводятся блоки с разными типами цен - скидками. Кроме того на Hоver - появляется кнопка купить с выбором количества. Вобщем без JS не обойтись.

    5ede2362ab597185986899.jpeg

    Нашел решение на просторах интернет, учитывая, что, возможно решение пригодится кому-нибудь еще приведу пример кода функции:

    function funcItemsHeight(domItem) {
    	var menuItems = document.querySelectorAll(domItem);
    	var top = menuItems[0].offsetTop;
    	var arrHeight = [];
    	var arrItems = [];
    	for (var i = 0; i < menuItems.length; i++) {
    		menuItems[i].style.height = 'auto';
    	}
    	for (var i = 0; i < menuItems.length; i++) {
    		if (top != menuItems[i].offsetTop) {
    			arrHeight.sort(function (a, b) { return b - a });
    			for (var j = 0; j < arrItems.length; j++) {
    
    				arrItems[j].style.height = arrHeight[0] + 'px';
    			}
    			top = menuItems[i].offsetTop;
    			arrHeight.length = arrItems.length = 0;
    			i = i - 1;
    			continue;
    		}
    		arrHeight[arrHeight.length] = menuItems[i].offsetHeight;
    		arrItems[arrItems.length] = menuItems[i];
    	}
    	arrHeight.sort(function (a, b) { return b - a });
    	for (var j = 0; j < arrItems.length; j++) {
    		arrItems[j].style.height = arrHeight[0] + 'px';
    	}
    }
    window.onresize = funcItemsHeight;
    
    funcItemsHeight('.ВАШ_ЭЛЕМЕНТ');
    Ответ написан
    Комментировать
  • Где найти практику по javascript?

    Занимательные задачи JavaScript и jQuery: https://vk.com/zadachi_javascript_jquery
    Ответ написан
    Комментировать