Задать вопрос
Ответы пользователя по тегу JavaScript
  • Как можно внедрить мой js код в страницу в браузере на этапе загрузки?

    @rPman
    Браузер на твоей машине (контролируемой тобою) - плагином, тьма их, популярный greasemonkey (или аналог tampermonkey если нужен и хром)

    Чужая машина - никак, только получив доступ к чужому бакэнду или скриптам, которые он подгружает (например рекламная площадка)
    Ответ написан
    Комментировать
  • Как получить текущее местоположение пользователя Telegram?

    @rPman
    никак, и надеюсь никогда такой возможности не будет
    Ответ написан
    Комментировать
  • Как с помощью js получить ссылку запроса?

    @rPman
    В общем случае - никак, если пользователь кликнул по iframe то вы ничего не сможете сделать, для страницы с чужим контентом - он черная лошадка.

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

    Это вопрос безопасности, так как иначе вы могли бы открыть какой-нибудь facebook в iframe с автологином пользователя, читать приватный контент и симулировать там клики. Это недопустимо.

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

    @rPman
    в dos а значит в windows, перенос строки состоит из двух символов \r\n, в unix/linux - из одного \n
    Ответ написан
    Комментировать
  • HTML5 Canvas - LineTo?

    @rPman
    https://api.jquery.com/mousemove/
    Properties such as .clientX, .offsetX, and .pageX are available, but support for them differs between browsers. Fortunately, jQuery normalizes the .pageX and .pageY properties so that they can be used in all browsers.


    вы бы хоть для теста вывели в лог что внутри evt
    Ответ написан
  • Насколько целесообразно использовать нейронную сеть для выбора объекта из коллекции таких же объектов по N параметров?

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

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

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

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

    @rPman
    Зачем вам связь хранить на клиенте? пусть этим сервер заморачивается, у него больше возможностей для этого.
    1 запрос - 1 ответ, значит можно выдавать связанный идентификатор siteB при каждом запросе с siteA
    Ответ написан
  • Как через браузер отследить активность пользователя?

    @rPman
    Chrome Remote Desktop - расширение к браузеру, которое позволяет получить доступ к машине пользователя вне браузера, т.е. какой то api на это имеется, изучите его или код расширения, хотя бы сможете реализовать задуманное в виде плагина.

    Для firefox или safari стандарта на это вроде бы нет.

    p.s. но зачем так извращаться?
    Ответ написан
    2 комментария
  • Аналоги js в web?

    @rPman
    sun/oracle, adobe и позднее microsoft уже попытались втиснуть соответственно java applet, shockwave flash и silverlight, во что это вылилось посмотрите, до сих пор страдаем от остатков тормозного и гглавное дырявого флеша

    Позднее, кажется в google, предложили способ компиляции в нативный код NaCl и PNaCl (кажется на базе llvm) но все заглохло

    Сейчас весь мир смотрит на webassembly на базе ускоренного javascript. Взлетит - будем писать на любом языке програмирования, который будем компилировать еще на этапе разворачивания приложения, а исполняться оно будет уже в браузере,... все равно это будет виртуальная машина, правда технологии сейчас на столько крутые, что даже виртуальная машина работает на скорости сравнимой с нативным кодом (10%-30% потерь) и львиные потери производительности обычно не из-за кода а из-за кучи прослоек до периферии. Один HTML DOM чего стоит.
    Ответ написан
    Комментировать
  • Как в js отловить такой перенос текста?

    @rPman
    Ответ написан
    Комментировать
  • Как отследить закрытие PWA?

    @rPman
    Отследить прибитие приложения можно отдельным сервисом, работающим в фоне (внимание - батарейка), оно же может сообщить отдельным подключением об этом факте (простым http get запросом).
    Ответ написан
    Комментировать
  • Как можно выполнить отладку большого js скрипта без точек останова (PHPStorm)?

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

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

    На самом деле не обязательно покрывать отладочной информацией ВЕСЬ проект, это слишком раздувает файл логов, затрудняя его анализ и замедляя работу приложения. Обычно вы знаете, в каком месте кода у вас проблема, и именно эту часть покрываете отладочной информацией.

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

    p.s. свой колбек на вызов функции в javascript можно зарегистрировать так:
    (function() {
        var call = Function.prototype.call;
        Function.prototype.call = function() {
            console.log(this, arguments);
            return call.apply(this, arguments);
        };
    }());
    Ответ написан
  • Как повысить приоритет браузерного расширения по сравнению с другими расширениями?

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

    @rPman
    Вы уверены что такая 'защита' вас устроит? ведь это выглядит как табличка - уважаемые спамеры, пожалуйста не спамьте мне тут.

    Спамер посмотрит, какой запрос отправляет форма, и минуя ваши javascript проверки отправит свой спам.

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

    @rPman
    Только перенос 'опасной' деятельности на сервер вас спасет.

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

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

    https://en.cppreference.com/w/cpp/language/bit_field
    Ответ написан
    2 комментария
  • Как уменьшить вес JS файла?

    @rPman
    Удалить из js компоненты и функции которые не используются.
    Разработчик, выбравший использование этого файла, должен знать что для этого нужно сделать.

    p.s. я не верю что у вас 900кб все используются, это очень маловероятно
    Ответ написан
    Комментировать
  • Можно ли отключать часть js кода на чужой html странице?

    @rPman
    в консоли пишите что то типа body.innerHTML и плучаете в виде строки всю сгенерированную страницу
    Ответ написан
    Комментировать
  • Печать документов в браузере Chrome без Google Cloud Print?

    @rPman
    Объясните, о чем идет речь? Что такое WinPrint?

    Чтобы открыть стандартную форму печати странице в браузере, необходимо просто вызвать print(), никаких облачных принтеров, штатная форма хрома, на выбор печать в локальный pdf и выбор списка локальных принтеров операционной системы, то же самое выводится при нажатии ctrl+p

    p.s. без диалога

    ну и еще, никакими способами, из javascript на странице вы не сможете получить доступ к реальным принтерам, вам нужна прослойка в виде плагина или расширения, это вопрос безопасности, иначе злоумышленники так смогут ддосить организации, выводя на их принтеры всякий мусор
    Ответ написан
    Комментировать