Ответы пользователя по тегу JavaScript
  • Реально ли на чистом HTML, CSS, JS написать CRM систему как Basecamp?

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    По описанию звучит как бред, НО:
    Во первых - на вашем месте (да и вообще в любом случае в будущем) - не стесняйтесь спросить - какие функции работодатель ждет от финальной работы. Может ему нужно только хтмл+цсс, ну и как-то переключаться между папочками.

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

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

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Uncaught TypeError: Cannot read properties of null
    Читаем ошибку, потом внимательно читаем ошибку.

    Я понимаю что можно найти ответ в интернете но я минут 10 полазил так и не понял.
    Почему не поняли? Что-то в объяснении из интернета вам не понятно? Так вот то что не понятно и и надо спрашивать.

    Выдержка с первого же сайта в выдаче гугла:
    TL;DR;
    You are accessing a property of an object that is null. For example, document.getElementById('stuff') returns null. So adding .value will cause the error.
    You are trying to access a DOM element before the DOM is ready. Use onload or DOMContentLoaded.
    Test if an object is valid before accessing its property.
    Что из перечисленного непонятно?
    Ответ написан
    Комментировать
  • Как посмотреть что отправляет форма?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Какая то магия, есть форма
    Магия вне Хогвардса не работает, все поддается куда более простым законам природы )

    И вообще можно посмотреть что уходит постом?
    для посмотреть что отправляется - смотрите девтулс - нетворк, там все видно.

    я больше всего понять не могу, почему форма отправляется с кнопки, а через jquery нет.
    Значит какое-то условие в вашем коде не выполняется, логично же. Ставьте console.log() по ходу выполнения цепочки, смотрите значения, думайте...
    Ответ написан
    1 комментарий
  • Как подгрузить данные из JSON после изменения контента через DOM?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Когда на нее заходит пользователь, то ему необходимо изначально выбрать интересующий его продукт.
    Что значит выбрать? Это что, селектор?

    Допустим, человек выбрал "Product 1"
    Да что там за "выбрал" такой???

    (продуктов на самом деле несколько, и для каждого в файле создана функция, которая меняет/обновляет данные в соответствующем div, p или теге span).
    Сурово...

    Для некоторых элементов (которые подгружаются в виде ссылок) я хотела бы вывести более подробное описание в модальном окне, но это у меня не выходит.
    Описания ссылок? Элементов? По какому действию должно появляться модальное окно? По клику? На линк продукта? Или куда?

    Подскажите пожалуйста, возможно ли каким-то образом подгружать данные в модельное окно после добавления/обновления элементов с контентом?!
    Что за элементы с контентом - новые продукты? Или продукты не меняются, а меняются только описания?

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

    Попробуйте как-то простыми словами нормально описать что надо, или еще лучше - приведите пример на другом сайте с подобным функционалом.
    Ответ написан
    Комментировать
  • Как устроен принцип работы пагинации?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Пагинация делается в связке - бэкенд высчитывает нужный кусок контента, исходя из длинны контента на страницу и номера страницы соответственно. Номер страницы передается в параметрах запроса (собственно ссылке из блока пагинации). Фронтенд - обычно хтмл блок, построенный с помощью цикла на языке бэкенда (например пхп), отображает в браузере соответствующие ссылки, исходя из общей длинны контента, и деля его на размер контента на одну страницу. Можно его построить и на яваскрипте, но данные для построения (текущая страница, всего страниц) передается с бэкенда, так как там хранится выбранная информация.

    В редких случаях используют "фиктивную" пагинацию на js, то есть весь контент загружают как список с бэкенда, а на фронте делят его на куски, и по нажатию показывают кусок соответствующий номеру страницы.
    Ответ написан
    5 комментариев
  • Как выполнить window.location в новом окне, если зажата клавиша ctrl?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    if (!e) e = window.event;
      if (e.shiftKey) {/*shift is down*/}
      if (e.altKey) {/*alt is down*/}
      if (e.ctrlKey) {/*ctrl is down*/}
      if (e.metaKey) {/*cmd is down*/}


    Задача довольно странная, так как вы программно имитируете дефолтное поведение, что говорит о том что вы скорее всего что-то делаете не так. Рекомендую либо поделиться секретом нахрена такие заморочки, либо подумать самостоятельно как использовать нормальные линки.
    Ответ написан
    Комментировать
  • Как сделать sql запрос с несколькими категориями в выдаче и в нужно процентном соотношении?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Выделяете все категории, которые будут значимыми для выборки, пропорционально количеству вычисляете процент, и делаете в бд ровно столько запросов, сколько категорий у вас получилось.

    Например вы в итоге хотите показать 10 фильмов в ленте рекомендаций, 50% боевиков, 30% драма, 10% комедия и 10% научпоп. Делаете 4 отдельных запроса с соотвтетствующими лимитами на каждую категорию (5,3,1 и 1 соответственно), склеиваете полученные массивы - профит.

    PS: Для того чтобы они потом не шли по порядку, а были худо-бедно в разброс, неплохо по итогу перед выводом сделать аррэй_шаффл.
    Ответ написан
    Комментировать
  • Как сделать так чтобы в назначенное время код переставал работать?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Любой код, не завязанный на сторонний сервис хотя бы частично, можно "оптимизировать" для работы без вас )
    По этому любые варианты кода в аренду не работают. Ну или работают недолго. Можете разбить код на части, типа клиент-сервер, клиентская часть будет выполнять запросы к вашему серверу, а сервер уже выполнять ваш мегасекретный алгоритм сортировки пузырьком...
    Ответ написан
    Комментировать
  • Как зделать чтобы кнопка добавляла товар в корзину больше 1 раза на Java скрипте?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    2 варианта:
    1) Массив js со всеми продуктами, ключи - айдишники товара, значение - объект, где есть количество и цена. По клику передавать айди товара в обработчик, поменять количество, из массива перерендерить либо весь блок корзины, либо значения суммы на товаре, количества на товаре и общую сумму, по вкусу.

    2) Аяксом отправлять на сервер айдишник товара, оттуда получать отрендеренный блок корзины, или же массив как в первом варианте и дальше все так же.

    Второй вариант как-бы логичнее, хранение на сервере данных и их добавление/обработка более контролируемо. Первый проще в реализации, не требует дополнительно дергать бэк, но меньше контроля (например, невозможно точно определить есть ли достаточно товара на складе).
    Ответ написан
    Комментировать
  • Как собирать данные о пользователях на собственном сайте по интересам?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Это такой простой способ.
    Способ нормальный, просто к искусственному интелекту это относится так же как табличка экселя с 2 формулами - то есть никак. Тупо статистика в самом примитивном виде.

    Мне просто интересно, а можно сделать это как то лучше?
    Конечно можно, просто понадобится непропорционально больше усилий на получение незначительного улучшения, например еще учитывать длительность просмотра того или иного жанра, активность типа коментариев, лайков, рейтингования и прочие мелочи. Короче, для одного небольшого сайта практически нерентабельно, другое дело объемы ютуба, там все это работает и приносит лишнюю копеечку.

    Если мы каждую секунду будем закидывать в бд какие то данные, а если пользователей будет много, допустим 1000 и более, не скажется ли это на производительности и как лучше в таком случае вообще собирать такие данные?
    Нет, если пользователей будет 1000, а кино в среднем около часа, то активность в плане записи в бд будет околонулевая, за 60 минут ~1000 действий, что примерно равно 1 действие в 3 секунды. Даже если активность будет в 10 раз больше, а пользователей тоже в 10 раз больше - активность в итоге будет около 100 действий за 3 секунды, или 30-40 действий в секунду, для нормальной структуры бд это вообще не нагрузка.
    Ответ написан
    Комментировать
  • Как загрузить скрипты мимо google page speed?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Если карта в области видимости - никак. Если карта вне экрана - повесьте евент на интерсекшн обсервер, и загружайте по нему.
    Ответ написан
    Комментировать
  • Какой из текстовых редакторов Linux умеет работать по FTP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    https://www.google.md/search?q=linux+text+editor+w...

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

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Минификация файлов нужна для ускорения скачивания файла на компьютер пользователя, обязательно это делать или нет - выбор руководителя проекта или другого ответственного за проект. С точки зрения СЕО специалиста будет "однозначно да", программисту же, как минимум до полной "полировки" файлов, удобнее работать с развернутой версией.

    В общем случае это крайне желательно(экономит время/энергию/байты, спасает птичек и лисичек), но в некоторых случаях не критично (например сайт малопосещаемый и файлы не большие).
    Ответ написан
    2 комментария
  • Как проще всего генерить pdf на клиенте?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    html2pdf, правда сам пдф будет содержать картинки, а не текстовые ноды и форматированную разметку.
    Ответ написан
    Комментировать
  • Как получить ответ на запрос через AJAX, если обработчик на этой же странице?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Простой вариант, если используется лара:
    php:
    if($request->ajax()){ //или $_SERVER['REQUEST_METHOD'] == "POST" если не лара
      //возвращаем нужные данные в json или как удобно
      exit();
    }

    js:
    ...
    success: function(data) {
                    console.log(data);// в дата лежит ответ сервера
                },
    ...
    Ответ написан
    Комментировать
  • Как правильно сделать динамическую подгрузку контента с помощью ajax?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    В малых проектах такой подход приемлем, в крупных и нагруженных это будет неоправданно из-за большого количества мусорных запросов на сервер, и в таких случаях используют сокет. Если задача чисто "поиграться" - решение через сетИнтервал норм.

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

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    createElement, insertBefore, appendChild...
    Или заранее создать набор форм и просто скрывать/показывать в определенном порядке.
    Ответ написан
  • Не понимаю свой и чужой код?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Чаще всего популярные скрипты публикуются в 2 форматах - не пакованные, типа и минифицированные, типа script.min.js, которые занимают меньше места, но становятся малочитаемыми. Вам для изучения нужен первый вариант.
    Ответ написан
    Комментировать
  • Iframe как альтернатива ajax и отправка POST запросов?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer

    С точки зрения практичности и безопасности данный способ оправдывает себя?
    С точки зрения практичности - нет, так как это полная шляпа, мы такое писали в 2005, когда аякс как явление еще не существовал, а уже в 2012 появился нормальный XMLHttpRequest здорового человека, на который все быстренько переползли.

    С точки зрения безопасности вообще абсолютно монопенисуально каким способом вы отправляете пост запрос, внутренний механизм будет абсолютно одинаков.

    Задавшись вопросом безопасности отправки запросов через ajax
    Если возникают вопросы безопасности при отправке данных через пост - значит вы что-то не то передаете...
    Ответ написан
    Комментировать
  • Чем отличается innerText от ручного ввода с клавиатуры?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    После ввода в поле каких либо значений кнопка становиться активной
    И какое событие вы отслеживаете?
    Ответ написан