Ответы пользователя по тегу JavaScript
  • Внутренняя архитектура игры. Прежде чем накосяпорю дальше, нужны дельные советы по уже имеющимся косякам?

    Jeer
    @Jeer
    уверенный пользователь
    Могу порекомендовать книгу Графика на javascript Рафаэлло Чекко - там в одной главе делается игра space invaders и разбирается, в том числе, ваш вопрос
    Ответ написан
    1 комментарий
  • Как вывести id?

    Jeer
    @Jeer
    уверенный пользователь
    В функции LinkClicked поставьте debugger и посмотрите, какие атрибуты доступны в переданном obj. Айдишник там точно есть
    Ответ написан
    Комментировать
  • Проблема при отправке данных AJAX, JQUERY?

    Jeer
    @Jeer
    уверенный пользователь
    Вам нужно смотреть, что находится в переменных.
    Если вы уже определили, что дело в username - так гляньте, что там находится.
    var kk = {'username': $('#username')};
    debugger; // автоматически ставит точку останова, можно ковырять в консоли
    console.log(kk);

    Скорее всего, вы хотите получать значения или текст, это делалось как-то так $('#comment').text() или $('#username').val(); Но, чтобы ответить наверняка, нужно правильно работать с инструментами разработчика в браузере. Так же, надо залезть на вкладку network и посмотреть, какой именно уходит запрос на сервер, какая в этом запросе модель и какой приходит ответ
    Ответ написан
    Комментировать
  • Как поставить фон картинки другую картинку?

    Jeer
    @Jeer
    уверенный пользователь
    Эм, не очень понятно, вам нужен кленовый лист на переднем плане и рандомная картинка на заднем?
    В таком случае лист должен быть заранее вырезан, то есть, фон у листа должен быть прозрачным.
    Затем вы должны подогнать размеры, расположить две картинки в одной области и указать, что будет на переднем плане через z-index
    Ответ написан
  • Как выбрать весь document из внешнего файла js?

    Jeer
    @Jeer
    уверенный пользователь
    Единственное, jQuery должен быть подключён раньше, чем ваш скрипт. Вроде, всё
    Ответ написан
    1 комментарий
  • Кто сможет сделать ход с помощью JS?

    Jeer
    @Jeer
    уверенный пользователь
    Привет,
    Насколько я вижу, тут используется canvas, поэтому по простому сделать не получится (выбрать html элемент и выполнить функцию click()).
    Тут есть два варианта - первый это ковыряться в доступном js коде, понять модели, форматы данных, как хранится игра, разобраться, какие функции за что отвечают и какие передаются параметры. Процесс очень трудоёмкий и увлекательный, но только после этого можно будет написать свою логику, используя их родные функции. Сомневаюсь, что на тостере кто-то этим будет заниматься.
    Второй вариант, погуглите программы-эмуляторы, через которые создаются боты, не имея вообще доступа к коду. Я не силён в этом, но они точно существуют в большом количестве. Через подобные программы делается автоматизированное тестирование программного обеспечения, например, и боты в том числе
    Ответ написан
    Комментировать
  • Как вывести в диалоговое окно в браузере переменные для ввода данных и забрать из них данные?

    Jeer
    @Jeer
    уверенный пользователь
    Не используйте стандартные диалоговые окна браузера. Делайте обычный кастомный попап, где сможете размещать любые html элементы.
    Для полей ввода используются теги input с параметром name. Если вы не используете ajax, то инпуты необходимо располагать в теге form, погуглите как это всё работает.
    Если используете ajax, то этим инпутам можно выдать параметр id, с помощью яваскрипта не должно быть проблемой обратиться к элементу по идентификатору и далее получить значение.
    Ответ написан
    Комментировать
  • Как лучше хранить и управлять данными на странице сайта в "прямом эфире"?

    Jeer
    @Jeer
    уверенный пользователь
    Почитайте, на каких принципах строятся spa приложения, например, angular или react.
    Можете выполнить какое-нибудь стартовое обучение по ангуляру, например, этого должно быть достаточно для разъяснения
    Ответ написан
    Комментировать
  • Почему не работает конструкция if?

    Jeer
    @Jeer
    уверенный пользователь
    if(e.target.value = 'amd')
    В if-ах, у вас орфографическая ошибка, вместо сравнения вы делаете присваивание. Вместо одного знака "=", должно быть "=="
    Ответ написан
    Комментировать
  • Как протащить изображение через SignalR?

    Jeer
    @Jeer Автор вопроса
    уверенный пользователь
    Кому интересно, тут произошла какая-то магия. Дело в том, что когда из c# отправляется массив байтов он автоматически конвертируется в base64 стрингу. Мне понадобилось некоторое время, чтобы осознать это. Причин такого поведения я не нашёл в интернете, буду рад, если кто подскажет.
    В моём коде я по сути делал двойную конвертацию в base64, это всё не нужно, вот верный код:
    this.connection.on("BroadCastImage", image => {
          this.base64data = this.sanitizer.bypassSecurityTrustUrl('data:image/jpeg;base64,' + image);
        });
    Ответ написан
    1 комментарий
  • Почему картинка на сохраняет пропорции в браузере safari?

    Jeer
    @Jeer
    уверенный пользователь
    Добрый день,
    А как вы задаёте transform? )
    Некоторые свойства действительно работают по разному в разных браузерах. Если у вас проблема именно "transform safari", так и пишете в гугле и по первым ссылкам выдаётся что-то вроде такого:
    -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);


    Так же поищите специальные сайты, которые проверяют/дописывают кроссбраузерность для css
    Ответ написан
    Комментировать
  • Возможно ли сделать карусель с разным временем задержки переключения между слайдами?

    Jeer
    @Jeer
    уверенный пользователь
    Готовое решение вряд ли найдётся, я о таких не слышал.
    Вам необходимо будет допилить какую-либо карусель под свои нужды, задача не сложная
    Ответ написан
    Комментировать
  • Как пользоваться captcha hearvest?

    Jeer
    @Jeer
    уверенный пользователь
    Привет, я не работал с твоей капчей, но как-то ставил гугл ре-Капчу. И раз уж пока ответов нет, то посмотрни про неё.
    Вот документация, там всё довольно просто https://developers.google.com/recaptcha/docs/v3
    Строго говоря, я работал с пакетом для ангуляра ng-recaptcha, но это не имеет особого значения
    Там так же есть site-key, его можно получить при регистрации https://www.google.com/recaptcha/admin
    Там же дополнительно указываются домены и владельцы этой капчи, видимо, в твоём случае solve url должен указываться при регистрации, но далее в твоём js коде оно вылезать нигде не должно. Капча просто не будет работать на других доменах
    Ответ написан
  • Приложение на телефон(HTML,CSS,JS) или альтернатива Phonegup Build?

    Jeer
    @Jeer
    уверенный пользователь
    Так вот же 30 минутный туториал https://habr.com/ru/company/mailru/blog/450504/
    Ответ написан
    Комментировать
  • Как найти проекты или репозитории, где показана правильная разработка?

    Jeer
    @Jeer
    уверенный пользователь
    Привет,
    Словосочетание "правильная разработка" порождает лишь неразбериху.
    К примеру, ты делаешь какой-то компонент на фронте, на бекенде довольно стандартный CRUD. Но ты можешь сделать один метод Edit, а можешь сделать два метода Create и Update. И то и то правильно в зависимости от ситуации. Дальше, к примеру в методе Create у тебя проставляются пользователь, создавший запись и какое-то ещё поле, которое заполняется на бекенде. При этом, можно использовать одну и ту же модель во всех методах, Details/Create/List/Update. При этом, в метод Create попадёт модель с лишними полями, тот же пользователь, создавший запись. Кто-то скажет, это неправильно, нужно под все методы делать свои модели, если поля не используются, не должно быть возможности их передать. А кто-то скажет, неправильно плодить лишние сущности, пусть поле не используется, оно всё равно на бекенде перезаписывается. А кто-то скажет, что вообще не нужна даже одна промежуточная сущность, можно использовать сущность, которая генерится каким-нибудь инструментом с БД, так как проект представляет собой закрытую админку для внутреннего пользования.
    Немного сумбурно, но, надеюсь, понятно.
    Дальше идёт расхождение в инструментах, к примеру, требуется делать валидацию входящей модели. Можно использовать Fluent валидацию или использовать декларативный синтаксис через Data Annotation. И то правильно и это правильно, в одном проекте, разумеется, должно использоваться что-то одно, но подход и синтаксис различаются очень сильно. Или так же, необходимо использовать IoC/DI, а инструментов под это несколько и все правильные.
    Что касается архитектуры. Опять же, есть несколько подходов и несколько стилей. Нельзя сказать, что один из них правильный, а другой неправильный. Я видел несколько отвратительных проектов, написанных в ООП стиле. При этом, не могу сказать. что подход неправильный и нет хороших проектов, написанных по такому принципу. Я видел огромный проект, отлично написанный в процедурном стиле со слоёной архитектурой контроллер/модель/интерфейс/сервис/энтити. Даже представить себе не могу, если бы его попытались сделать в Domain Driven Design или в компонентном стиле, типа микросервисов.
    В общем, нет в этом деле серебряной пули.
    Что касается основных "правильных" вещей. Есть спецификации языка и им надо следовать. Если взять, к примеру, ангуляр. То в нём есть свои стандарты, есть сайт с документацией, в которой прописаны правила наименований и прочее. Им надо следовать. Если взять .net, то при выходе новой версии, вместе с ней выходит и спецификация на новые фишки. Так же, в нормальных проектах ведётся свой файл со спецификацией, в котором указаны, в каком порядке следует размещать публичные/приватные поля, что один публичный класс должен быть в отдельном файле и имя файла должно совпадать с именем класса. Так же, при выходе новой версии IDE, под .net это visual studio, внутрь уже встраиваются подсказки, например, если ты написал класс с маленькой буквы, студия это подчеркнёт и укажет, что наименование класса должно быть в PascalCase. В общем, этому надо следовать. Могу скинуть свои файлы на почту.
    Могу так же скинуть свой проект на гитхабе, но, как я уже говорил, не факт, что архитектура из того проекта подойдёт, когда вы придёте в другую разработку, там архитектор скажет "это неправильно, мы не так делаем"
    Ответ написан
    Комментировать
  • ASP.NET как узнать какой JS-скрипт исполняется сейчас?

    Jeer
    @Jeer
    уверенный пользователь
    можете написать слово debugger в js в том месте, где хотите точку останова. Тогда при включенных тулзах (f12 в хроме) выполнение будет автоматически остановлено на этой строчке. Ничего искать не надо.
    Вообще, ваш вопрос не относится к asp.net, только к студии.
    Есть еще разные штуки, например, можно нажать на функцию правой кнопкой и "найти все ссылки", но в студии это работает только для js файлов, не ищет, если вызов из html.
    В целом, попробуйте перейти на ангуляр/реакт. Как поймёте структуру, все ваши функции будут находиться в одном месте, не надо будет ничего искать.
    Работа с js/html лучше реализована в PHPStorm, чем в вижуал студии, сейчас я пишу бекенд на .net в VS, а фронтовую часть в шторме (ангуляровский проект)
    Ответ написан
    Комментировать
  • JS - как сделать подгрузку блока с другой страницы?

    Jeer
    @Jeer
    уверенный пользователь
    Привет, задача кросс-доменного запроса, насколько я разбираюсь в телекинезе.
    Если так, то есть несколько вариантов, (вначале гугл, разумеется):
    Первый вариант, если у вас имеется доступ к обоим сайтам, необходимо в том сайте, куда идёт запрос настроить CORS политики.
    Второй вариант кастыльный, к примеру, загрузить блок в Iframe, но это вам вряд ли понадобится.
    Третий вариант, делать прокси: на своём сервере пишете метод, в котором вызываете нужную страницу, парсите ответ, на выход идёт необходимый кусок html, который уже можно получить аяксом и вставить в нужное место
    Ответ написан
    Комментировать
  • Как с api принимать только те объекты, у которых есть определенное свойство?

    Jeer
    @Jeer
    уверенный пользователь
    Привет, клиент принимает то, что отдаёт сервер. Поэтому либо происходит фильтрация на клиенте, либо на сервере должен быть еще один параметр и именно сервер должен отдавать корректный результат.
    Ответ написан
    Комментировать
  • Какие ресурсы прочитать или, может, книги,где описаны приемы проектирования ядра приложения?

    Jeer
    @Jeer
    уверенный пользователь
    Пробегите бегло по паттернам, возможно, найдете, что вам подходит https://refactoring.guru/ru/design-patterns/behavi...
    Ответ написан
    Комментировать
  • Аналоги js в web?

    Jeer
    @Jeer
    уверенный пользователь
    Привет, всё, что тут говорят, это, по сути, не самостоятельные языки (в том смысле, что они не могут исполняться), например, тайпскрипт. Вначале он транслируется в js, и браузеры работают с js в любом случае.
    Тайпскрипт уже пришел на замену js в ангуляре, я даж не представляю, как по другому работать.
    Если хочется еще интересностей, есть проект блейзор, вот пример https://blazor-demo.github.io/Counter
    Если откроешь средства разработчика, то увидишь там загрузку .dll файлов, а не js ;) Можешь погуглить про него побольше, там объяснят, что такое webassembly и как это работает. Вот тут действительно другой язык. Но технология еще сырая, только для пет-проектов, никак не для прода.
    Ответ написан
    Комментировать