• Почему при каждом вводе выполняется условия?

    vool
    @vool
    Разработчик
    Если я правильно понял задачу, для того чтобы после выполнения условия прекратить дальше вывод, то попробуй юзать removeEventListener
    Ответ написан
    Комментировать
  • Phaser.js, как сделать обработку событий?

    vool
    @vool
    Разработчик
    Если ты хочешь при нажатии выполнять действие, вот код:
    checker.on('pointerdown', function() {
        print()
    });
    Ответ написан
    Комментировать
  • Почему постоянно загружается проект (Expo)?

    vool
    @vool
    Разработчик
    Попробуй переустановить expo go, если не поможет, запусти на эмуляторе, ну а если и там виснет, тогда может проблема с подключением

    Обновление:
    1) попробуй удалить всю папку node_modules, и потом снова установить пакеты: npm i
    2) Если не поможет первый пункт: обнови expo cli: npm i expo -g
    Ответ написан
  • Как узнать хэш сумму объекта в JavaScript?

    vool
    @vool
    Разработчик
    Хеширует строки, цифры, и объекты
    let hash = function (str) {
      var hash = 0;
      if (typeof str == "object") {
        var str = JSON.stringify(str);
        if (str.length == 0) return hash;
        for (i = 0; i < str.length; i++) {
          char = str.charCodeAt(i);
          hash = ((hash<<5)-hash)+char;
          hash = hash & hash; // Convert to 32bit integer
        }
      } else {
        var str = String(str);
        if (str.length == 0) return hash;
        for (i = 0; i < str.length; i++) {
          char = str.charCodeAt(i);
          hash = ((hash<<5)-hash)+char;
          hash = hash & hash; // Convert to 32bit integer
        }
      }
      return hash;
    }
    Ответ написан
    Комментировать
  • Как получить в кастомном атрибуте немного отличающиеся значени?

    vool
    @vool
    Разработчик
    Не совсем понимаю вопрос, если вы хотите узнать имеет ли елемент определённый атрибут, то вот код:
    const foo = document.querySelector("div");
    if (foo.hasAttribute("x-make")) {
      // TODO
    }
    Ответ написан
  • Можно ли исправить ошибку append?

    vool
    @vool
    Разработчик
    setTimeout(function() {
       let script = document.createElement("script");
       script.src = "https://yastatic.net/share2/share.js";
       script.setAttribute("async", "true");
       document.querySelector(".fshare-in").appendChild(script)
       document.querySelector(".ya-share2").classList.remove("not-loaded");
    }, 3e3);
    Ответ написан
  • Как закрыть не дочернюю страницу на сайте?

    vool
    @vool
    Разработчик
    Здравствуйте, если вы хотите закрыть текущую страницу, есть window.close() но сейчас браузеры блокируют закрытие через такой метод, поэтому остаётся легче вариант: перезагрузить, чтобы перезагрузить вот так пишем: location.reload()
    Ответ написан
  • Не работает clearInterval в javascript?

    vool
    @vool
    Разработчик
    var id
    var j = 1
    function remove(){
    id = setInterval(function () {
              $('.i-am-os[data-id="' + j + '"]').animate({
                     opacity: '0',
                     olor: '#00000000'
               }, 100, function () {
                     $(this).remove()
                })
                if(j>6){
                    clearInterval(id);
                } else {
                    j++
                }
      }, 1000);
    }
    remove()

    Так будет работать))
    Ответ написан
  • Как парсить число в дату в JS?

    vool
    @vool
    Разработчик
    const d = new Date('2011-04-11T10:20:30Z');
    const time = `${d.getMinutes()}:${d.getSeconds()}`;
    Ответ написан
    Комментировать
  • Как изменить текстовый элемент в массиве на изображение?

    vool
    @vool
    Разработчик
    let texts = [1, 2, 3, 4];
    let images = ["image1.png", "image2.png", "image3.png", "image4.png"];
    for (let text in texts) {
       //берём фото 
       let photo = images[text];
       //ну а дальше что вам нужно то и делаете
    }
    Ответ написан
    Комментировать
  • Как открыть datalist средствами js?

    vool
    @vool
    Разработчик
    Это никак не получится, лучше разработать свой список:
    <input id="h"><br>
      <div class="res">
        <p>text 1</p>
        <p>text 2</p>
        <p>text 3</p>
      </div>


    .res {
      height: 0px;
      overflow: hidden;
      width: fit-content;
    }
    
    .res.opened {
      height: 100px;
      overflow: scroll;
    }


    document.querySelector("#h").onfocus = () => {
      document.querySelector(".res").classList.add("opened");
    }
    document.querySelector("#h").onblur = () => {
      document.querySelector(".res").classList.remove("opened");
    }


    А дальше можете спокойно открывать, закрывать, пушить данные туда
    Ответ написан
    Комментировать
  • Почему счетчик начинает работать только со 2 клика?

    vool
    @vool
    Разработчик
    Запомните:
    когда мы так пишем: a++, то переменная возвращает сначала старое значение а потом увеличивает
    а так: ++а, сначала увеличивает значение и потом возвращает новое значение
    Ответ написан
    Комментировать
  • Как удалить лишний js и css код с сайта?

    vool
    @vool
    Разработчик
    Я вам советую если вы не используете соединение с сервером в режиме реального времени(а я вам это рекомендую), то просто картинки в тегах пропишите так чтоби они допустим не загрузились, а потом на джс после загрузки страници пропишите им путь:
    Замените это:
    <img src="путь/к/картинке/картинка.png">
    На это:
    <img src-js="путь/к/картинке/картинка.png">

    В джс:
    window.onload = () => {
       let images = document.querySelectorAll("img");
       for (let img of images) {
           img.src = img.getAttribute("src-js");
           img.removeAttribute("src-js");
       }
    }

    Это приведёт к тому что сначала браузер загрузит страницу и там не будет картинок(быстрее должно грузиться) а потом когда страница загрузилась(перестал крутиться лоадер браузера) джс загрузит картинки, то же самое можете сделать для других неважных скриптов и стилей, я это использую часто и мне помогает, страница загружается моментально
    Ответ написан
    Комментировать
  • Как обесцветить картинку?

    vool
    @vool
    Разработчик
    Может быть вот это:
    img {
      filter: grayscale(100%);
    }


    Вот полный список фильтров:
    https://developer.mozilla.org/en-US/docs/Web/CSS/filter
    Ответ написан
    Комментировать
  • Как подвинуть этот блок ровно к центру?

    vool
    @vool
    Разработчик
    Чтобы блок(блочный елемент) выровнять по центру по горизонтали:
    1 способ:
    <div>kdjfkgjdg</div>
    div {
      position: relative;
      margin: auto;
    }


    2 способ:
    <div>kdjfkgjdg</div>
    div {
      position: relative;
      left: 50%;
      transform: translate(-50%, 0%);
    }


    Чтобы блок(блочный елемент) выровнять по центру по вертикали:
    <div>kdjfkgjdg</div>
    div {
      position: relative;
      top: 50%;
      transform: translate(0%, -50%);
    }


    А чтобы выровнять по центру по вертикали и горизонтали:
    <div>kdjfkgjdg</div>
    div {
      position: relative;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
    }
    Ответ написан
    Комментировать
  • Почему при установке приложения есть ошибка cannot find module @electron/remote/main?

    vool
    @vool Автор вопроса
    Разработчик
    Значит решил проблему сам, сначала установил через нпм remote, потом перед сборкой проекта удалил папку node_modules, переместил remote в раздел "dependencies", и потом собрал проект, и только после этого стало работать)
    Ответ написан
    Комментировать
  • Почему не работает nodemailer?

    vool
    @vool
    Разработчик
    Можно ещё таким способом отправлять:
    (Пример отправки кода подтверждения)
    const nodemailer = require('nodemailer');
    const directTransport = require('nodemailer-direct-transport');
    const fromHost = `mysite.com`;
    const from = 'site' + '@' + "gmail.com";
    
    console.log('Email will be sent from:');
    console.log(from, '\n');
    
    // Ask for email address
    const to = prompt('Enter your email address ').trim();
    
    // Генерируем код
    const trueVerificationCode = Math.round(Math.random() * (10e5 - 1)).toString();
    
    const transport = nodemailer.createTransport(directTransport({
      name: fromHost
    }));
    let y = trueVerificationCode;
    // Отправляем письмо
    transport.sendMail({
      from, to,
      subject: 'Verify your email address',
      html: `
             <div style="width:100%;display:flex;flex-direction:column;justify-content:center;
             align-items:center;background:lightblue;padding:50px;box-sizing:border-box;">
             <h1>Verify your email address</h1>
             <p>Site has tried to verify your email address "${to}".
             If this wasn't you, ignore and delete this email. Otherwise, the verification code is bellow:</p>
             <div style="padding:50px;background:lightgray;border-radius:10px;font-size:30px;
             font-family:monospace;">${trueVerificationCode}</div></div>
            `
    }, (err, data) => {
      if (err) {
        console.error('There was an error:', err);
      } else {
        console.log('\nVerification email sent, check your inbox\n');
        const userVerificationCode = prompt('Enter your verification code ');
        if (userVerificationCode == trueVerificationCode) {
          console.log('Email address verified');
        } else {
          console.log('Code incorrect');
        }
      }
    });
    Ответ написан
    6 комментариев
  • Как вывести данные из объекта?

    vool
    @vool
    Разработчик
    Попробуйте так:
    results[0].count
    results[0].transactionId
    Ответ написан
    Комментировать
  • Возможно ли будет установить apk размером ~10 гигабайт?

    vool
    @vool
    Разработчик
    Мне кажется что адроиду всё равно какой вес файла, но вот пользователю увы нет, если он увидит сколько оно весит то пошлёт вас далеко)
    Ответ написан
    Комментировать
  • Как динамически обновлять дочернее окно?

    vool
    @vool Автор вопроса
    Разработчик
    Итак, благодаря wisgest, я ещё больше улучшил код, всем кто наткнётся на этот вопрос, вот адекватное решение:
    let y = window.open("", "test");
    function reloadDOM(html) {
      y.document.open();
      y.document.write(html);
      y.document.close();
    }
    reloadDOM(`<!DOCTYPE html>
    <html>
    
    <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width">
      <title>replit</title>
      <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
      <!--CSS-->
    </head>
    
    <body>
      <h1 class="comp">I'm a computer</h1>
    
    
      <!--JS-->
      <script src="h.js"></script>
      <script>alert(2)</script>
    </body>
    
    </html>`);
    Ответ написан
    Комментировать