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

    @rPman
    Какими инструментами, приложениями или библиотеками можно воспользоваться, чтобы оперативно отслеживать новые сообщения на публичных каналах telegram?
    там решение https://github.com/TehDmitry/tg-cli

    Собираете и запускаете консольный клиент под вашим аккаунтом, подключаетесь к нему своим приложением по tcp и делаете простые запросы (периодически, самое простое, можно ловить события, но к сожалению групповые чаты часто глючат).
    Ответ написан
    Комментировать
  • Каким образом можно вызывать одно приложение из другого без перезагрузки страницы?

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

    p.s. очень грустно будет жить нам в будущем, все приложение в вебе, корявее некуда.
    Ответ написан
    2 комментария
  • Какие хитрости есть при работе с большим количеством данных в js?

    @rPman
    Если подгрузка на лету не подходит, используйте шаблоны, работайте с DOM элементами как с текстом везде где это возможно, так как быстрее чем со строками работать в принципе не возможно.

    В вашем случае можно вставлять сразу целой строчкой (тег и содержимое tr) или даже подготовить всю таблицу в виде строки а потом вставить ее просто поместив ее в innerHTML нужного div.
    Ответ написан
    Комментировать
  • Знаете ли вы решения для peer-to-peer тоннелей через Websocket?

    @rPman
    наверное самый легкий вебсервер и клиент к сокетам, идеален для IoT:
    https://github.com/jeremyhahn/cwebsocket

    вообще то их много, гуглить websocket client c (или arm или iot)

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

    @rPman
    Шаблон должен иметь описание требуемых изменений в базе данных.

    например для простейшего случая 1 форма = 1 таблица 1к1, каждое поле формы должно иметь информацию о типе и названии поля в базе данных (а форма соответственно содержит имя таблицы).

    Отдельно описываем связи, например для справочников (где то должно быть описание имеющихся таблиц-справочников) - на форме это комбобокс, в таблице поле идентификатор с foreign key на таблицу-классификатор.

    Чуть сложнее со связями 1-к-м, на форме это сложные списки (список при выделении элемента заполняется часть формы новыми данными из связанной таблицы), но это точно так же описывается прямо в шаблоне.

    Точно знаю что существует несколько фреймворков для этого (например старенькая oracle forms уже тогда все это поддерживала), я их не изучал, но еще до их появления разрабатывал такую систему шаблонов и генератор, который полностью собирал базу данных, html-формы для просмотра, редактирования и поисковые формы.

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

    @rPman
    Только если оба сайта подконтрольны вам, те.. вы можете добавлять туда свой код!

    Если без заморочек - через свой сторонний сервис, GET HTTP запросами, кодируя нужные вам данные в параметрах (до 64кб после кодирования).
    Оба сайта должны делать запросы к нему с пометкой, запрос данных или получение.

    К сожалению, если у вас https, вас сервис тоже должен использовать https.
    Ответ написан
    Комментировать
  • Какие есть библиотеки (скрипты) для автозаполнения документов?

    @rPman
    Открываем страницу в своем браузере (на основе любого решения на любом языке обычно это какой-нибудь WebBrowser контрол) в пару десяток строчек кода и инжектим в нее свой javascript, который эмулируем действия пользователя, обычно это очень простой код, сложнее когда формы многоэтапные.

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

    Я писал подобное на java, совсем давно были эксперименты на mono (c#), там используется основанный на firefox движок, работает неплохо и в безголовном варианте на любой дешевой vps-ке.

    Если нет необходимости скрывать интерфейс (запуск в виде службы), можно использовать какие-либо плагины к браузеру (тот же tempermonkey/greasemonkey) и реализовать все полностью на javascript.
    Ответ написан
    Комментировать
  • Почему слетаете кодировка при ajax запросе методом load jQuery?

    @rPman
    что выдает curl -v http://вашсайт.../inc/calc-parts/sketch-straight.php

    p.s. немного смущает пробел после php в ссылке, плюс нет никакого смысла да и не красиво в ссылках на данные указывать анчор #, это сугубо html ui решение
    Ответ написан
  • Как сделать, чтобы при перезагрузке страницы, страница начиналась просматриваться с самого верха?

    @rPman
    где-нибудь сверху поставьте <a href="#" id="xxx"> а в нужный момент перейдите location.href = "#xxx";
    Ответ написан
    Комментировать
  • Какие варианты защиты, кто пробовал, Обфускация JavaScript?

    @rPman
    Переделайте все на serverside, тем более благодаря nodejs это будет не так сложно как раньше.

    т.е. исключите частично или полностью javascript на клиентской стороне, тогда воровать будет просто нечего.
    Ответ написан
    Комментировать
  • Как Запретить скрипт если форма закрыта или заполнена?

    @rPman
    Сохраните факт отправки где-нибудь, на выбор - cookies (рекомендуется, их поддерживают все и они простые), localStorage или на сервере (при следующем открытии формы вы должны будете вернуть этот флаг, но осторожно, при переходе назад в браузере запрос к серверу может не произойти, т.е. вы должны его сделать сами, перед созданием таймера)
    Ответ написан
    Комментировать
  • Можно ли отправить 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' >
    Ответ написан
    Комментировать