Ответы пользователя по тегу JavaScript
  • Как сделать все в одном окне?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Такой момент, что один вопрос появлялся на экране и после ответа, появлялся второй вопрос на весь экран. В принципе как в любом тестирование. Как стоит здесь делать?
    Записать все 12 вопросов в одну форму, в 12 разных блоков. Показывать следующий блок после ответа на вопрос. Форма - одна. Др-ть сервер AJAX'ом каждый раз - идея плохая, так как:
    1. Загрузится всё то же самое, что и за одну загрузку, но одним запросом - это будет быстрее и промежуточных данных меньше
    2. Пользователю не придётся постоянно ждать подгрузки данных между ответами

    И как еще при этом таймер привязать к закрытие теста?
    Таймер - не надо привязывать. Берёте любой таймер на JS, коих валом или пишите простейший свой таймер (в зависимости от ваших потребностей). А на сервере соотв. проверяете время начала теста и время его окончания, если пользователь уложился в отведенный интервал - всё ок, если же нет...
    Ответ написан
    7 комментариев
  • Есть что нибдуь кроме ajax?

    Wolfnsex
    @Wolfnsex Куратор тега HTML
    Если не хочешь быть первым - не вставай в очередь!
    Есть ли еще какая нибудь технология для асинхронных запросов к бэкэнду кроме ajax? В качестве бэкэнда golang
    На чем бекенд - разницы особо нет (обычно).

    Есть ВебСокеты, вполне себе асинхронно (при должном подходе), глобальная разница между ним и AJAX'ом в том, что соединение поддерживается на постоянной основе.

    Ещё есть socket.io, тоже что-то наподобии сокетов, но не подскажу точно, как именно оно работает, очень давно использовал и подзабыл...
    Ответ написан
    2 комментария
  • Правильно ли я отпарсил путь через регулярное выражение?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Правильно ли я отпарсил путь через регулярное выражение?
    Для отладки рег. выражений - настоятельно рекомендую использовать сервис RegEx101 (переключалка языков - слева).

    Касательно правильности - зависит от того, какой результат Вы хотели получить... Если просто удалить из пути первые N-символов или определенный их набор - есть другие варианты...

    Иными словами, если Ваш вариант правильно работает во всех случаях, в которых он должен работать правильно - ответ - да.
    Ответ написан
  • С чего подступиться к бекенду?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    знаю только, о существовании node.js - фреймворка
    Не могу быть уверенным до конца, но по моему, NodeJS - это не фреймворк.

    Хочу развить в себе это понимание, но просто не знаю как к этому подступиться. Про что читать?
    Смотря на сколько хорошо это понимание Вы хотите у себя развить. Если "очень хорошо" - то начинать нужно, я думаю, с основ сетей (из чего состоит TCP-пакет, какие бывают протоколы, OSI и так далее).

    Если говорить про уровень "чуть попроще", я бы посоветовал начать с "начала", т.е. с того, с чего начинается работа веб-приложения, а именно с HTTP-протокола, от него можно плавно переходить к веб-серверам, от веб-серверов к тому, к чему эти самые веб-сервера передают "динамические" HTTP-запросы на обработку, т.е. к "бекенд-программам" и... дальше уже сориентируетесь, чего ещё не хватает.

    Хотя, всё зависит от целей конечно, если Ваша первичная и основная цель научиться "клепать сайты" - для скорости подобного обучения - лучше максимально абстрагироваться от всех технический особенностей, например - не забивать себе голову "ерундой" о техническом устройстве, предположим, cookies'ов, а просто выяснить в общих чертах как они работают (зачем нужны) и как их можно использовать. Такой подход позволяет максимально быстро приступить к процессу "сайтоклепания", сэкономить массу времени и памяти (нейронных связей в голове) для других важных дел, например, просмотра зомбоящика :)))

    P.S. Максимальную скорость возведения бекенда обычно обеспечивают готовые решения, например, CMS. В большинстве случаев они существуют для самых разных языков, в т.ч. должны быть и для JS'а. Прелесть подобного подхода в том, что имея минимальный набор знаний о бекенде, можно делать довольно красивые/функциональные решения (сайты), при умении, хотя бы неплохо верстать :)
    Ответ написан
    Комментировать
  • Узнать класс на который кликнули jquery?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Ответ написан
    Комментировать
  • Как с помощью Jquery нажать элемент при нажатии элемента?

    Wolfnsex
    @Wolfnsex Куратор тега CSS
    Если не хочешь быть первым - не вставай в очередь!
    Попробовал вот это:
    .click в JQuery - это обработчик одноименного события, а не его генерация, если Вам нужно сэмулировать клик по элементу, выглядит это примерно так: $('#element').trigger('click'); А вообще, правильно это релизуется - отслеживанием "хеша" (т.е. того, что после '#' в адресной строке) и соотв. реакцией на его изменение. В принципе примерно это же Вам сказал предыдущий оратор :)

    P.S. Подробности про эмуляцию клика.
    Ответ написан
    Комментировать
  • Влияет ли большой js код на нагрузку на сайт и его скорость?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Будет ли из-за этого сервер выдавать ошибки если на сайт зашло много людей и вообще сильно ли влияет код такого размера на сайт?
    JS код не выполняется на сервере (обычно), по этому на сервер напрямую он никак (обычно) не влияет. Влияет он обычно на скорость работы кленитского устройства.

    но код вышел очень большой(около 3000-3500строк)
    Объём кода обычно оценивается не по кол-ву строк, а по физическому размеру файла. Думаю, 3-4тыс. строк - это не очень много. К тому же, файл(ы) JS (и CSS) можно минифицировать. Если код написан хорошо - то будет нормально работать даже на слабых клиентских устройствах, например на телефонах. (P.S. Сколько Ваш JS-файл занимает Кб? Он минифицирован? И да, не стоит забывать, что на сервере не редко так же включено сжатие GZip или Brotli, по этому более корректно оценивать размер файла в сжатом виде, а не в исходном).

    P.S. Вы можете сами оценить нагрузку на клиентское устройство, скорость загрузки сайт и пр. его параметры в инструментах для разработчика браузера (включаются обычно по нажатия F12).
    Ответ написан
    2 комментария
  • Как сделать что бы всплывающее окно показывалось одному пользователю только один раз?

    Wolfnsex
    @Wolfnsex Куратор тега HTML
    Если не хочешь быть первым - не вставай в очередь!
    Как сделать что бы оно показывалось пользователю только при первом посещение, когда она закроет его оно больше не появлялось пока он не почистит куки?
    Ответ в самом вопросе - записать в куки, было ли показано окно.

    Судя по тегам, среди прочего присутствует JQuery... Для JQuery есть соотв. плагин.
    Ответ написан
    Комментировать
  • Как программно разместить страницу сайта на размер A4 при печати?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Офромите внешний вид для печати страницы CSS как Вам нужно. Тут немного информации по теме. Так же в сети полно информации на эту тему по запросу, например, CSS for print

    "Как Вам нужно", это например:
    1. Уменьшить шрифты до нужного размера (что бы помещалось)
    2. Убрать картинки (если есть)
    3. Задать максимальную ширину каждой колонки
    4. И так далее, далее, далее...
    Ответ написан
    2 комментария
  • Какой jquery плагин лучше использовать?

    Wolfnsex
    @Wolfnsex Куратор тега CSS
    Если не хочешь быть первым - не вставай в очередь!
    Magnific popup - помню, он понравился мне за то, что нормально работал в т.ч. на мобильных и довольно быстро работал (в том плане, что пользователю не приходилось ждать пол минуты, пока отработают все эффекты и пр. ерунда).
    Ответ написан
  • Как вставлять внешнее видео чтобы можно было им управлять программно?

    Wolfnsex
    @Wolfnsex Куратор тега Веб-разработка
    Если не хочешь быть первым - не вставай в очередь!
    Есть готовые решения или библиотеки?
    Есть готовые API и примеры.
    Ответ написан
    Комментировать
  • Как можно реализовать такой функционал с формой?

    Wolfnsex
    @Wolfnsex Куратор тега HTML
    Если не хочешь быть первым - не вставай в очередь!
    Вариант А:
    1. В каждый таб воткнуть свою (отдельную) форму, что бы передавалась именно она, и как следствие, свой отдельный сабмит
    2. Передавать данные AJAX'ом, что бы страница не обновлялась
    3. После отправки, - сбрасывать отправленную форму (по необходимости)

    Вариант Б:
    1. Создать одну большую общую форму
    2. Добавить в нее скрытое поле, в котором будет сохранятся значение активного таба
    3. Каким-то образом связать поля с активным табом, например с помощью префикса имени поля или имен полей в формате tab1[field1]
    4. В скрипте принимающем и/или генерирующим форму, выставлять соотв. значения, полученные из формы ранее
    Ответ написан
  • Что делает фронтендера фронтендером, а не верстальщиком с jQuery?

    Wolfnsex
    @Wolfnsex Куратор тега CSS
    Если не хочешь быть первым - не вставай в очередь!
    Что именно позволит верстальщику, "умеющему" (красивое слово) использовать готовые решения и иже с ними переродиться во фронтендера?
    Ну... как Вы понимаете, верстальщик, это человек, который прежде всего занимается вёрсткой, а JQuery и пр. вытекающие - скорее как некоторый "бонус" к изначальной специализации.

    "Фронтэндер" - это человек который полноценно может разработать фронтальную часть сайта не на уровне "вклеить на главную JQuery-слайдер", а именно полноценно сделать фронтальную часть сайта, продумать и реализовать его логику и т.д. Условно, таких разработчиков можно поделить на основании использования каких-то технологий, так же как и "бэкэндеров".

    Кто-то пишет "бекенд" на Си, кто-то пишет на PHP, кто-то на Python, на Ruby и т.д. но любой хороший "бекендер", в зависимости от своей квалификации, знает не только "язык N", (для примера возьмем PHP), но и разбирается в сопутствующих технологиях, начиная от банального понимания логики работы самого PHP и/или понимания (хотя бы частичного) исходного кода PHP, а так же принципах устройства HTTP-протокола, принципах работы сетей и т.д.

    Аналогичным образом, мы можем категоризировать (условно) фронтэнд-разработчиков. Хороший ФЕ умеет не только "верстать и юзать JQuery", но и понимает как этот самый JQuery устроен, знает JavaScript, знаком с какими-то ещё JS-фреймворками, возможно знаком с исходным кодом и/или принципами работы самого JS-движка, знаком с сопутствующими технологиями (простейший пример - вебсокеты), возможно знаком с БД и так далее...

    Соответственно, хороший верстальщик - это специалист который хорошо занимается именно вопросами вёрстки, в том числе знаком с сопутствующими технологиями на должном для него уровне (например, SASS, Stylus, Gulp и т.д.), умеет "правильно втыкать JQuery на страницу", знает какой плагин слайдера лучше взять и почему, знает какие стилевые особенность есть в том или ином браузере и т.д.

    Чисто гипотетически, ФЕ-разработчик может не заниматься вёрсткой вообще или делать это в минимальных объёмах, хотя эта картина конечно слабо рисуется в сознании, но в некоторых крупных компаниях существует и такая практика. Что в свою очередь свойственно и для БЕ-разработчиков, например, БЕ-разработчик может заниматься исключительно разработкой основной логики программы и практически не касаться БД (базы данных), т.к. за базу данных (написание запросов, их отладку и т.д.) отвечает другой специалист, а за построение структуры БД, её администрирование и поддержание в рабочем состоянии - третий и т.д.
    Ответ написан
    2 комментария
  • Зачем используется обратный слеш при выборе?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Зачем используется обратный слеш при выборе?
    Обратный слеш экранирует кавычки. Причина их "появления" в том, что у Вас и "основные" кавычки и "внутренние" - одинаковые.

    Вот в таком варианте:
    $('select[name="name_id"]');или вот таком:$("select[name='name_id']");"слеши" будут не нужны.

    "слеш пробел" экранирует пробел, "\n" - означает перевод строки, "\t" - символ табуляции и так далее.
    Ответ написан
    Комментировать
  • Как связать кнопку "вступить в группу" и БД?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    пользователю, нажавшему эту кнопку, занести запись в БД?
    Что, простите? Занести пользователю запись в БД?

    Вообще, у "Вконтакта" есть CallBack API, уведомляющий Ваш сервер о некоторых событиях (со списком которых Вы можете ознакомиться по ссылке выше), в результате наступления которых (событий) Вы можете добавить нужную запись в БД или
    пользователю, нажавшему эту кнопку, занести запись в БД
    или сделать что-то ещё в таком духе.
    Ответ написан
    Комментировать
  • Как при авторизации через curl пройти проверку что сайт открываться именно с браузера?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Вот уже неделю страдаю над авторизацией на сайте
    Вы завязывайте с этим, так и нервный срыв получить можно :D

    Что этот парсер должен делать? что найти? и как потом использовать то что он нашел? и когда он должен запускаться?
    Что именно происходит в JS-коде - Вы можете посмотреть в своём собственном браузере, нажав F12 и открыв отладчик JS. Детально проанализировав полученную информацию, Вы сможете понять, что там происходит...

    Другой (или дополнительный вариант) - Вам нужно будет детально изучить HTTP-заголовки которые отправляет Ваш браузер и сравнить их с заголовками, которые отправляет Ваш парсер...

    Ещё как вариант, рекомендую Вам ознакомиться с PhantomJS, среди прочих применений - он так же применяется вместе с PHP (который вы указали в тегах) для тестирования проектов на уровне "эмуляция браузера/пользователя".
    Ответ написан
  • Как сделать такой hover на input?

    Wolfnsex
    @Wolfnsex Куратор тега CSS
    Если не хочешь быть первым - не вставай в очередь!
    Как сделать такой hover на input?
    Вас именно hover интересует? Такой hover можно сделать через backgroud-картинку.

    Есть ещё "маска ввода", например в виде плагина для JQuery, вот одна из них.
    Ответ написан
    Комментировать
  • Как отследить повторный клик на jQuery?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Первое, что мне приходит в голову: вот так.
    Ответ написан
    Комментировать
  • Как сделать перезапись .html или InnerHTML?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Текст, почему во 2-ой или 3-ий раз при нажатий текст не перезаписывается?
    Отвечая конкретно на этот вопрос: перезаписывается.
    Ответ написан
    2 комментария