Задать вопрос
Ответы пользователя по тегу JavaScript
  • Как выполнить 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
    После ввода в поле каких либо значений кнопка становиться активной
    И какое событие вы отслеживаете?
    Ответ написан
  • Из за чего SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    во первых укажите сразу что вы получаете json, тогда все эти var message = JSON.parse(data); не нужны, у вас сразу будет объект.
    $.ajax({
        type: 'POST',
        url: '/recloud/modules/cabinet/engine/handlers/handler.php',
        data: 'operation=activate_gift&code=' + code,
        dataType: 'json'...

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

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    это ведь незахардкожено, как поисковик понимает актуальность урлов ?
    Поисковики ориентируются на несколько параметров: Заголовок страницы на сайте, содержимое самой страницы (в частности тег h1), а так же всякие дополнительные фишки типа микроразметки, сайтмапа и схемы, а сайт просто выводит эти данные в заранее приготовленный шаблон страниц в нужные места. И все друг друга понимают и любят )
    Ответ написан
    Комментировать
  • Почему функция confirm($txt) возвращает старый(прошлый) текст файла?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    ...
    var confirm = confirm(txt);// здесь получаем тру или фалс, ок...
    ...
    data: "confirm=" + encodeURIComponent(confirm) //здесь его енкодим и отправляем на сервер зачем-то...
    ...
    return filter_var(file_get_contents('text.txt'), FILTER_VALIDATE_BOOLEAN);//читаем файл, получаем из него значение...

    При выполнении функции вы выводите в браузер яваскрипт, и тут же запрашиваете содержимое файла. Так как вывод в браузер и выполнение функции жс в браузере происходят с серьезной задержкой, естественно вы получите "старое" значение, причем новое скорее всего будет содержать какой-то бред по типу 'true'/'false' строкой, судя по коду.
    Ответ написан
    Комментировать
  • Как выполнить функцию при выборе option в select?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    <select onchange="myFunction()">
    Ответ написан
    1 комментарий
  • Как при выборе города показывать только первый элемент из этого города?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    хз кто такие карточки и что за города, научитесь при постановке задачи абстрагироваться от "менеджерского" сленга, и описывать сущности реальными названиями - карточки это судя по всему элементы хтмл с нужным классом? Города - это значения селекта?

    Подозреваю что что-то типа

    f (isItemFiltered && !isShowAll) {
            item.classList.add('hide');
          } else {
            item.classList.remove('hide');
            break;
          }
    Ответ написан
    Комментировать