Ответы пользователя по тегу JavaScript
  • Что это за синтаксис?

    Rou1997
    @Rou1997
    Это типа гибрид между эти:
    var foobar = {
      x: 1,
      y: 2,
      pauseGame: 3
    };

    И этим:
    function pauseGame(newgame){}
    :)
    В JavaScript функция является значением, и это используется при реализации ООП.
    Ответ написан
  • Круглый интерфейс на jQuery?

    Rou1997
    @Rou1997
    Посмотрел, не совсем понял, о чем речь, видимо, баг не столь серьезен, чтобы быть заметным вне контекста. :) Как по мне, для интерфейса приложения предназначенного для работы, а не для игр, -подобное решение более чем годно, гораздо критичнее не какой-то там баг или "артефакт", а большая удаленность точек, из-за чего утомительно водить курсором и сложно попадать по маленьким точкам.
    В чем все-таки баг, для начала?
    Вас не устраивает быстродействие анимации? Или алгоритм - то, что "стрелка" проходит не оптимальный путь?
    Ответ написан
  • Как заставить webview запустить javascript?

    Rou1997
    @Rou1997
    Должен работать, вы с чего взяли что он вообще не работает? Если не работает alert и т.п., это отдельная проблема.
    Ответ написан
  • Socket.io: как определить клиент конкретного пользователя?

    Rou1997
    @Rou1997
    Это называется "авторизация".
    Если без регистрации, то сделайте так: пользователь перед доступом в чат просто вводит свой ник и отправляет серверу, на сервере в памяти в массиве добавляется новый клиент соответствующий данному сокету, а с точки зрения сервера у каждого клиентского подключения свой сокет и нет никаких проблем, сервер может получить сообщение только от конкретного сокета и отправить тоже.
    Ответ написан
    9 комментариев
  • PHP вымрет и все будет на js или без сервера все равно никак?

    Rou1997
    @Rou1997
    без сервера все равно никак
    Ответ написан
    Комментировать
  • Как реализовать чат на вебсокетах?

    Rou1997
    @Rou1997
    Проще всего реализовать не через сокеты, а через Long polling, это обычный AJAX, но использующий то, что HTTP основан на TCP (низший уровень сокетов), и есть возможность долго ждать ответа сервера, таким "костылем" и обеспечится "real-time" AJAX. Да, именно "костыль", да, не оптимально по нагрузке на сервер, зато более легко и надежно, чем сокеты, HTTP даже новее, а сокеты технология из 1980х годов, и WebSocket не далеко от них ушли по надежности, довольно сложно реализовать стабильное соединение в сокетах, но если все-таки WebSocket, то сперва изучайте на Node.js, потом переходите на PHP, в крайнем случае оставляете Node.js, это идеальный подход к мало знакомым областям.
    Ответ написан
    Комментировать
  • Как надоело писать одно и тоже. Как сократить вызов?

    Rou1997
    @Rou1997
    Простите, это что, шутка такая, как будто вам только это надоело писать, а того что вы и без таких мелочей пишете раз в 5 больше кода, вы просто не замечаете и никак оптимизировать не намерены?
    [].forEach.call(nodes.ellipsis
    Ну, точно шутка! Может, вы еще и вот так пишете?
    Window.prototype.alert.call(window, 'Hello world');


    А сделать, что то на вроде jquery с методом .on() ?

    jQuery - это библиотека, следовательно, если стоит задача написать навроде jQuery, но не использовать jQuery, то следует написать свою библиотеку, очень сложная логика, правда?

    Или вы принципиально хотите жить на всем готовом, чтобы другие все для вас сделали, те кто занимается Babel, ES6, а вы просто пользовались тем, что вам дают, с максимальным комфортом чтобы ничего не надоедало, а зарплату получали как будто вы сами много стоите?
    Ответ написан
    Комментировать
  • Ajax загрузка скриптов?

    Rou1997
    @Rou1997
    var script = document.createElement('script');
    script.src = 'адрес скрипта';
    document.getElementsByTagName('head')[0].appendChild(script);
    Ответ написан
    Комментировать
  • Как запустить function при открытие страницы?

    Rou1997
    @Rou1997
    В конец последнего script добавьте:
    requestFullScreen(document.documentElement);
    Либо используйтеwindow.onload
    Ответ написан
  • Как правильно парсить номер телефона?

    Rou1997
    @Rou1997
    1) с входящей строки удалить все что не есть числом;

    В цикле пройти по всем символам и проверить каждый, для isDigit лучше написать специальную функцию, Гугл в помощь "javascript check if char is digit", формировать новую строку и в нее в этом цикле помещать только символы-числа.

    2) если номер начинается на определенные цыфры заменить их друими.

    Это элементарно, уже после того как сделали первое.

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

    Rou1997
    @Rou1997
    Ну как минимум у вас написано так:
    request = new ajaxRequest()
    А вот что возвращает ajaxRequest:
    var request = new XMLHttpRequest()
    В итоге получается вот:
    request = new new XMLHttpRequest()
    Как думаете, два раза new это нормально?
    Это ваша оплошность или так в книге написано?
    Ну и второе - писать на JavaScript без единой ";" это конечно надо думать. ;)
    Пользуйтесь нормальными источниками, по теме рекомендую xmlhttprequest.ru
    И научитесь хотя бы элементарной отладке, пользуйтесь консолью в средствах разработчика (F12), смотрите какие там ошибки и на какой строчке, вы же не первый день изучаете JavaScript, давно пора.
    Ответ написан
    1 комментарий
  • Как подгружается лента в социальных сетях?

    Rou1997
    @Rou1997
    Событие - очевидно же, scroll, либо простой click по кнопке "Показать еще", сама загрузка через AJAX-запрос, там обычная пагинация, с каждым разом номер страницы увеличивается на кол-во элементов на странице, затем ответ либо парсится (JSON) либо непосредственно добавляется в документ (HTML), подробнее вам ответят сниффер и исходный код JS, сам паттерн в дизайне называется Load more и есть даже готовые библиотеки.
    Ответ написан
  • Достаточно ли знаний php и js для написания мониторинга инет рекламы?

    Rou1997
    @Rou1997
    Я так понимаю, это обычный парсер нужных данных?

    Который выполняется на кластере серверов, по мощности сопоставимом с мощностью всех серверов рекламы вместе взятых. :)
    Напомню, речь идет обо всех рекламных объявлениях!
    Если вы не Сергей Брин и не создатель вируса Sality, то вам такое не потянуть, так что прежде всего ограничьте объемы.

    Достаточно ли знаний php и js для написания мониторинга инет рекламы?

    Насчет знаний, даже открытое публичное API не так просто использовать если нет опыта с API, ну вот люди запросто могут создавать вполне годные API но не иметь педагогического таланта, поэтому первый опыт использования API обычно болезненный, и чем это API сложнее (авторизация и др.) тем болезненнее, а у рекламных сервисов обычно вообще нету такого API, при этом там повсеместно применяется AJAX и на какие именно адреса делать запросы прежде чем парсить неизвестно, поэтому нужно владеть отладкой (реверс-инжиниринг), прежде всего пользоваться сниффером и знать HTTP/S.
    Ответ написан
    Комментировать
  • Нужны ли вообще JQuery-like библиотеки?

    Rou1997
    @Rou1997
    В каком смысле jQuery-like?
    Если имеете в виду не средства для DOM и AJAX (которые и так очевидно что нужны), а именно "базовые" функции-helper'ы для работы с массивами, объектами и т.д., то и они тоже нужны, например:
    function mylib_object_isEmpty(obj) {
        for(var prop in obj) {
            if(obj.hasOwnProperty(prop))
                return false;
        }
    
        return JSON.stringify(obj) === JSON.stringify({});
    }
    
    function mylib_object_concat(obj1, obj2) {
      for (var attrname in obj2) {
        obj1[attrname] = obj2[attrname];
      }
    }


    Сегодня я сам написал эти функции, и очевидно не зря, так как предварительно проверил нет ли готовых и обнаружил, что они есть только в новом ECMAScript, в старом нет, а каждый раз писать даже 3-5 лишних строчек кода - это долго и утяжеляет код.
    Функции эти я применю в своем сериализаторе formс input'ами в JSON, сериализатор я пишу сам так как использовать фреймворк (Angular, React) в данном проекте я не хочу, а готовые отдельные функции сериализации не отвечают моим требованиям, например я хочу чтобы table сериализовался как массив из объектов-строчек, а в каждом объекте уже несколько input'ов как обычно.
    Мой сериализатор вместе с этими функциями и другими будет именно библиотекой jQuery-like, а не фреймворком.
    Ответ написан
    Комментировать
  • На сколько надежен JavaScript?

    Rou1997
    @Rou1997
    Полагаться что одни и те же алгоритмы будут верно работать во всех браузерах считал заблуждением.

    Алгоритмы, то есть то что входит в сам язык - циклы, массивы, операторы - в основном одинаково работают во всех браузерах если не использовать новых "фич" ECMAScript, а вот API (DOM & BOM) в разных браузерах сильно различается, особенно отличается в IE, конечно не стоит ни на что "полагаться" а просто надо заранее определиться с целевыми браузерами и изучать документацию и тестировать. Главное знать меру, идеальная кроссбраузерность стоит слишком дорого, но она и не нужна.

    В связи с этим вопрос: на сколько надежен код написанный на jquery в плане работоспособности на всех устройствах и браузерах?

    Его кроссбраузерность гораздо выше, чем у JavaScript, но не идеальна и невозможно писать код только на jQuery, поскольку далеко не все API он "оборачивает", так что все равно нужно изучать и тестировать.
    Ответ написан
    Комментировать
  • Как создать Long-Polling Comet на JS?

    Rou1997
    @Rou1997
    PHP:

    <?php
    
    while (true) {
      if (поступили новые данные) {
        echo возвращаем ответ;
        break;
      }
      usleep(100000);
    }
    
    ?>


    JavaScript:
    Обычный AJAX-запрос, а как закончится тайм-аут, отправляйте запрос по-новой.
    Ответ написан
    4 комментария
  • Как получить submit от ajaxSubmitButton?

    Rou1997
    @Rou1997
    Точно так же, ничего не меняется.
    Ответ написан
  • Как правильно брать динамические данные с другого сайта?

    Rou1997
    @Rou1997
    И вам того же: блаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблабла
    блаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблабла
    блаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблабла
    блаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблабла
    блаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблабла
    блаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблаблабла
    блаблабла, а данные у вас загружаются с помощью AJAX, необходимо с помощью сниффера, например Fiddler, отследить откуда они у вас загружаются, и симитировать все необходимые запросы средствами curl или любой другой библиотеки, реализующей протокол HTTP, работа кропотливая, требует внимательности, но сложно только в первый раз.
    Ответ написан
    2 комментария
  • Как отправить параметры в функцию через onClick=?

    Rou1997
    @Rou1997
    onClick="UpdateRecord(<?= $row["user_id"]; ?>);"
    Другой вариант - не передавайте параметр, а используйте this, тем самым получаете кнопку, далее по DOM-модели добираетесь туда где ID, и его передаете куда надо.
    Ответ написан
    4 комментария
  • Почему $.getScript то работает то нет?

    Rou1997
    @Rou1997
    Сеть это дело тонкое, требует понимание методов отладки!
    Посмотрите доходит ли выполнение до этой строчки кода (поставьте breakpoint или просто alert/log). если не доходит то ищите проблему она не в $.getScript, если доходит то с помощью Fiddler посмотрите отправляется ли HTTP-запрос к данному скрипту, также отлаживайте jQuery у вас же есть ее код.
    Ответ написан
    Комментировать