Задать вопрос
Ответы пользователя по тегу JavaScript
  • Как получить данные из js переменной с помощью ruby?

    Например, используя Selenium WebDriver.
    require 'selenium-webdriver'
    driver = Selenium::WebDriver.for :chrome
    driver.get 'https://ya.ru'
    result = driver.execute_script 'return Ya._metrika.hitId;'
    puts result

    Пример выше достанет значение `JavaScript` переменной `Ya._metrika.hitId`, созданной на странице ya.ru.
    В вашем случае `attributesCombinations` нужно доставать.

    Ещё есть вариант использовать парсер JavaScript.
    Например, https://github.com/tenderlove/rkelly или любой ему подобный.
    Достаёте исходный код JavaScript со страницы и скармливаете его парсеру.
    Достать код достаточно просто.
    require 'unirest'
    require 'nokogiri'
    response = Unirest.get 'http://example.com'
    doc = Nokogiri::HTML response.raw_body
    element = doc.at_css 'script' # тут нужен более точный селектор
    element.text # вернёт вам сырой JavaScript
    Ответ написан
    Комментировать
  • Как измерить ресурсоёмкость html приложения?

    Нет такого понятия, как html приложение.
    Приложение — это просто текст (код), который передаётся с сервера клиенту, и не более того.
    Его интерпретацией занимается браузер. Он переводит <b>foo</b> в полужирное начертания слова foo.
    По этой причине, если вы хотите понять, как сильно ваше приложение нагрузить компьютер пользователя, нужно смотреть именно ресурсоёмкость браузера, в котором ваше приложение будет крутиться.

    Простейший клиент для вашего приложения — консольный w3m, который, как нетрудно догадаться, совсем никак не затронет ресурсы компьютера и его видеокарты.
    Но давайте это проверим.

    Пустой Chrome с одной вкладкой google.ru

    721db7ef3c994f1e9df771954f55c721.png

    Сам браузер съел 100 мегабайт и столько же отъел для вкладки.

    f9bf22791df34f1f85a797c157677842.png

    Посмотрим аналогичную вкладку в w3m.
    f2861624ad744efa985aa34ade2bc9df.pngdf6288f6c7104d47a63e9f2b2067f9f4.png

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

    Проверил:
    $ node
    > numbers = [1, 2, 1, 1];
    [ 1, 2, 1, 1 ]
    > numbers.filter(function(value){return value % 2 === 0})
    [ 2 ]


    Результат соответствует ожиданию.
    Где вы проверяли свой код?
    Ответ написан
    Комментировать