Задать вопрос
Ответы пользователя по тегу JavaScript
  • Можно ли отправить AJAX запрос POST и далее уже работать с этими даннымим в PHP?

    @rPman
    Надежнее запускать серверное приложение в виде демона, если у вас критичная к остановке обработка (например лимиты времени работы скрипта) плюс удобнее разрабатывать приложение в виде standalone cli приложения.

    Мало того, можно дальше пойти, начать писать на php react асинхроные приложения, когда уже оно само представляется в виде http/websocket сервера, без необходимости восстанавливать контекст на каждый запрос.
    Ответ написан
    Комментировать
  • Event loop и то как работает асинхронность это одно и тоже или просто связано?

    @rPman
    Где то под капотом nodejs работает обычный event loop, все асинхронные методы складывают в очередь свои события, каждый кусок кода выполняется, будучи вызван именно от сюда.

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

    например мы хотим асинхронно файл прочитать - метод получает от операционной системы хандлер объекта, который умеет работать асинхронно, как только получили порцию данных - в цикле event loop завершает работать метод ожидания хоть какого то события (список хандлеров в параметрах либо это специализированный семафор, который все дергают) и обрабатывает событие, которое его разбудило - т.е. видим что пришли данные и вызываем callback метод, у казанный в парметрах вызова работы с файлом, в параметрах - результаты работы. После их обработки снова в цикле вызывается метод ожидания. Таким образом основной цикл работает в одном потоке, но ожидания только если нет событий.
    Ответ написан
  • Как распарсить страницу с полной прогрузкой javascript?

    @rPman
    Не мучайтесь, запускайте полноценный браузер (webkit есть под все платформы), при этом вы имеете полный доступ к загружаемой странице, можете инжектить свой код, можете просто получить документ в виде xml (не файл а именно DOM модель, собираемую в т.ч. javascript)

    И главное, веб-сайт ничего не сможет сделать чтобы предотвратить ваши попытки автоматизации работы с сайтом (кроме статистических конечно, но тут уже вопрос реализации и ваших требований)
    Ответ написан
  • Какие есть способы (или разрешения) получать координаты местоположения сайтом с https ( ssl ), открывающемся в браузере приложения Android или iOS?

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

    Соответственно, если приложение не озаботилось выдачей вам координат, то облом.

    p.s. обычно все используют webkit , вроде в списке возможностей geolocationapi заявлено:
    https://webkit.org/status/#

    https://developer.android.com/reference/android/we... так же заявлена поддержка, если сайт использует ssl но разработчик приложения сам должен реализовать колбек на подтверждение выдачи данных
    Ответ написан
  • Делать скрин браузера пользователей. Есть такое?

    @rPman
    Если разработчики браузера разрешат делать такое (без разрешения пользователя) это будет еще одной дыркой в cross site scripting, т.е. можно будет получить доступ к данным другого домена (открыв его в iframe), со всеми сохраненными авторизациями.

    click jacking уже работает (прозрачный iframe подставляется под курсор мышки нужной стороной), но в слепую, а будет - нет.
    Ответ написан
  • Возможно ли осуществить с сайта #2 вход на сайт #1 на простой форме входа?

    @rPman
    сайт #2, на котором проходит авторизация должен предоставлять механизмы (специальные запросы доступные только другим сайтам #1), сообщающие что вот такой то пользователь (идентификатор, создаваемый на старте авторизации еще в #1) ввел верные данные (и его роль админ/пользователь/гость...).
    Ответ написан
    Комментировать
  • Как сделать обработку формы без отправки?

    @rPman
    на onclick/onchange поля ввода (в зависимости, когда именно нужно делать запрос) ставите обработчик javascript которые используя ajax с помощью какой-либо библиотеки, тот же jquery (или более низкий уровень XMLHttpRequest без библиотек) а на сервере на этот запрос вы уже делаете sql запрос и возвращаете результат.

    Не рекомендую делать запрос на каждое событие, ставьте ограничение - не чаще чем раз в X секунд, например вместо прямого запроса делать его внутри setInterval, отменяя предыдущий.
    И помните что запросы ajax асинхронные, т.е. некоторые ответы могут прийти позже других (такие вы по логике не должны выводить, так как уже получили более новый)
    Ответ написан
  • Как с помощью JavaScript можно определить скорость интернета пользователя?

    @rPman
    Интернет в вашем случае почти наверняка 2 параметра - скорость загрузки (сервер->клиент) и пинги, это можно сделать просто сделав пару запросов (большой файл и файл 0 размера) на свой сервер (обычным ajax), замерив время.

    p.s. чем больше размер файла (или чем больше запросов) тем точнее информация но тем выше нагрузка на сервер, да и клиенты не будут довольны что при заходе на сайт у них будет тормозит.
    Ответ написан
    Комментировать
  • Как укоротить createElement в javascript?

    @rPman
    Что может быть читабельнее этого:
    function node(name){return document.createElement(name);}
    var div1=node(n'div')
       ,div2=node(n'div')
       ,div3=node(n'div')
       ,div4=node(n'div');


    p.s. избегайте ручное создание нод в проекте, пользуйтесь шаблонизаторами (их миллион) - готовые куски шаблонов храните тут же на странице, в теге < script type='text/html' >
    Ответ написан
    Комментировать
  • Как на клиенте в разных js файлах использовать один socket?

    @rPman
    тот самый момент где можно использовать глобальные переменные или свои глобальные функции, дающие доступ к переменным
    Ответ написан
    Комментировать
  • Хватает ли windows планшета для разработки?

    @rPman
    Я долгое время (да и сейчас, периодически) писал серверные и cli приложения на php исключительно в текстовом редакторе Far Commander с набором тематических плагинов

    Поэтому все зависит от вашей среды разработки.

    p.s. есть решение, неплохое и универсальное, подключаться терминалом к рабочей мощной машине (mstsc в windows работает объективно хорошо на медленных соединениях но критичны пинги, если вы любите отзывчивость интерфейса)
    Ответ написан
    Комментировать
  • Как сделать счетчик с автоматическим увеличением числа каждый день?

    @rPman
    Вам не нужно событие смены дня, вам нужно само число?
    Если вам нужно число, гарантированно уникальное, больше на единицу от предыдущего дня, то берете дату в формате unixtime, прибавляете смещение (когда вам нужно считать смену дня) и делите результат на (60*60*24) - целая часть результата - ваш индекс, можете вычесть какое то значение, соответствующее вашему первому запуску.
    Ответ написан
    Комментировать
  • Как сделать так, что бы скрипт работал только на телефонах?

    @rPman
    определение мобильника в студию! планшетник с win10 и клавиатурой-докстанцией это что?

    я пользовался этим https://mths.be/platform
    Ответ написан
    Комментировать
  • Как подменять вкладки?

    @rPman
    Не знаю про все вкладки, но сайты, принадлежащие одному владельцу могут быть так специально закодированы (с использованием тех же websocket), что после открытия ссылки меня текущую страницу на другую (логика может быть любой), т.е. после загрузки открытой страницы по ссылки с главной, сервер информируется об этом и пересылает сообщение на главную (связывает по сессии, коды передает в ссылке), после этого главная перезагружается.

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

    @rPman
    в 99% случаев авторизация нужна на всех страницах, после авторизации пользователь хочет видеть ту же самую страницу.

    javascript форма авторизации получается очень простой, ей почти все равно, одна страница авторизации или несколько.

    http авторизации потребует передачу текущей страницы в качестве одного из параметров в форму авторизации, с последующим переходом по этой ссылке, как недостаток - теряются введенные данные на этой странице, если они там были (например форма заказа, которую пользователь заполнил до авторизации), т.е. для ее сохранения вам опять понадобится что то изобретать, а javascript авторизация может не перезагружать страницу со всеми вытекающими бонусами.
    Ответ написан
    Комментировать
  • Что производительнее: .each или ... (перебор всех элементов)?

    @rPman
    в идеальном мире, использование .forEach() позволит в будущем распараллеливать в несколько потоков эти вызовы с меньшим набором проблем чем попытка делать то же самое с циклом for(), особенно если этот цикл на основе i=0;i<.length;i++ (от этих циклов бегите как от огня, просто не привыкайте)

    но наш мир не идеален, к тому же, если я не ошибаюсь, .forEach не позволяет делать красивый continue и тем более break... вам придется в коде forEach делать лишние блоки if
    Ответ написан
  • Можно ли отправить данные с сервера клиенту на определённый url?

    @rPman
    websocket именно для этого и создавалось

    а до этого использовались отложенные longpool http запросы с паузой (сервер держит открытым соединение с клиентом, который делает запрос типа 'есть ли чо для меня', до тех пор пока не потребуется отправить ему сообщение, и так в цикле)
    Ответ написан
    Комментировать
  • Сколько места в памяти занимает "null" и "undefined"?

    @rPman
    оба объекта внутри - ссылки (фактически 4 или 8 байт в зависимости от архитектуры), но undefined в массивах может совсем не занимать места, если соответствующий элемент не был проинициализирован или был удален delete
    stackoverflow.com/questions/6499352/does-null-occu...
    Ответ написан
    Комментировать
  • Как убрать из обработки один java script на сайте?

    @rPman
    Если оригинальный скрипт не сохранил идентификатор таймера, возвращаемого при иннициализации, то никак. Официального способа перечислить запущенные таймеры нет, кроме как переопределить setInterval ДО вызова на свою функцию.

    Если повезет, можно найти в вызываемом скрипте условие, при котором он завершится с ошибкой или будет работать вхолостую (удалить используемый DOM объект например).
    Ответ написан
    Комментировать
  • Как открыть локальный xml файл на android с помощью javascript?

    @rPman
    Это вопиющее нарушение секурити, возможность открывать локально файлы из веб-приложения (даже запущенного локально) считаю огромной дырой. Судя по всему IE этим до сих пор грешит (небось сделали кучу затычек в почтовом клиенте, чтобы совсем не быть дырявым).

    По уму это кстати настраивается в политиках (для IE).
    Ответ написан
    1 комментарий