Задать вопрос
  • Какой есть плагин JS для работы с изображением по координатам?

    lazalu68
    @lazalu68
    Вкратце: я ничего не понял.

    Насколько я могу видеть, на приведенном вами сайте просто есть картинка состоящая из одного элемента и есть два блока с цветами, тыкая на которые можно выбирать цвета для этого элемента и фона. Что за "На картинке выделяем области мышкой, ставить точки видимости к примеру. И так далее, следующее поле снова выделяем."? То есть я могу предположить как это может выглядеть, но рассчитывал увидеть похожее в вашем примере, и не увидел. В общем, пока не догоняю
  • Как подключить и изменять скачанный файл JSON?

    lazalu68
    @lazalu68
    Максим js, ой, ты не нажал "ответить", и я только сейчас увидел.

    С помощью PHP например как-то так:

    // код некой воображаемой страницы
    ...
    <script>
    window.my_awesome_variable = <?php file_get_contents('file://C:/some_file.json');  ?>
    </script>
    ...


    Собственно вручную абсолютно так же - записываете нужный вам объект в какую-нибудь переменную, потом используете его обращаясь к этой переменной. Код приведен на скорую руку, надо проверять.
  • Как получить значение Javascript-Listener'a в Symfony?

    lazalu68
    @lazalu68
    Достаточно красивое решение, не зря я верил в симфони)
  • Как передается поисковое значение на сайте?

    lazalu68
    @lazalu68
    animr, значит смотри, прямо по шагам:
    1. Захожу на твой вот этот вот сайт, захожу в инструменты разработчика, копирую запрос с помощью "copy as cURL (bash)",
    2. Получившуюся консольную хурму кидаю на сайт https://incarnate.github.io/curl-to-php/, в результате получаю это:
    Код запроса на PHP (cURL)

    $ch = curl_init();
    
    curl_setopt($ch, CURLOPT_URL, 'https://ofd.nalog.ru/search-proc.json');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, "mode=quick&page=&query=1192225018655&pageSize=10&sortField=NAME_EX&sort=ASC");
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_ENCODING, 'gzip, deflate');
    
    $headers = array();
    $headers[] = 'Sec-Fetch-Mode: cors';
    $headers[] = 'Sec-Fetch-Site: same-origin';
    $headers[] = 'Origin: https://ofd.nalog.ru';
    $headers[] = 'Accept-Encoding: gzip, deflate, br';
    $headers[] = 'Accept-Language: ru,en;q=0.9,ru-RU;q=0.8,en-US;q=0.7,lb;q=0.6,da;q=0.5';
    $headers[] = 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36';
    $headers[] = 'Content-Type: application/x-www-form-urlencoded';
    $headers[] = 'Accept: application/json, text/javascript, */*; q=0.01';
    $headers[] = 'Referer: https://ofd.nalog.ru/index.html';
    $headers[] = 'X-Requested-With: XMLHttpRequest';
    $headers[] = 'Cookie: _ym_uid=1567677672116808364; _ym_d=1567677672; _ym_isad=1; _ym_visorc_23729197=b; JSESSIONID=733005453A0E84B9A07FE39E19D098BC';
    $headers[] = 'Connection: keep-alive';
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    
    $result = curl_exec($ch);
    if (curl_errno($ch)) {
        echo 'Error:' . curl_error($ch);
    }
    curl_close($ch);


    3. Дополняю код выводом результата, получается такое:
    test.php

    <?php
    
    $ch = curl_init();
    
    curl_setopt($ch, CURLOPT_URL, 'https://ofd.nalog.ru/search-proc.json');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, "mode=quick&page=&query=1192225018655&pageSize=10&sortField=NAME_EX&sort=ASC");
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_ENCODING, 'gzip, deflate');
    
    $headers = array();
    $headers[] = 'Sec-Fetch-Mode: cors';
    $headers[] = 'Sec-Fetch-Site: same-origin';
    $headers[] = 'Origin: https://ofd.nalog.ru';
    $headers[] = 'Accept-Encoding: gzip, deflate, br';
    $headers[] = 'Accept-Language: ru,en;q=0.9,ru-RU;q=0.8,en-US;q=0.7,lb;q=0.6,da;q=0.5';
    $headers[] = 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36';
    $headers[] = 'Content-Type: application/x-www-form-urlencoded';
    $headers[] = 'Accept: application/json, text/javascript, */*; q=0.01';
    $headers[] = 'Referer: https://ofd.nalog.ru/index.html';
    $headers[] = 'X-Requested-With: XMLHttpRequest';
    $headers[] = 'Cookie: _ym_uid=1567677672116808364; _ym_d=1567677672; _ym_isad=1; _ym_visorc_23729197=b; JSESSIONID=733005453A0E84B9A07FE39E19D098BC';
    $headers[] = 'Connection: keep-alive';
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    
    $result = curl_exec($ch);
    if (curl_errno($ch)) {
        echo 'Error:' . curl_error($ch);
    }
    curl_close($ch);
    
    echo 'raw:' . $result . '<br><br>';
    
    echo 'decoded:';
    echo '<pre>';
    print_r( json_decode($result) );
    echo '</pre>';


    4. Выполняю test.php, получаю такой результат:
    Результат выполнения test.php

    raw:{"pageCount":1,"dtQueryEnd":"06.09.2019 12:45:40","page":1,"pageSize":10,"data":[{"ogrn":"1192225018655","inn":"2222876699","isnew":1,"category":1,"regioncode":"22","dtregistry":"10.06.2019 00:00:00","nptype":"UL","okved1":"46.12.3","okved1name":"Деятельность агентов по оптовой торговле промышленными и техническими химическими веществами, удобрениями и агрохимикатами","citytype":"ГОРОД","cityname":"БАРНАУЛ","name_ex":"ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ \"АГРОПРОМ\"","has_licenses":0,"has_contracts":0,"is_hitech":0,"is_partnership":0,"cnt":1,"token":"165829B539DC3C77CF61178C2A30D31063C0484A273F1A9E46AE13A56AB5F92CD54703FB92EAED7074657D9AA1B169E4"}],"dtQueryBegin":"06.09.2019 12:45:40","queryCount":true,"rowCount":1,"rowLimit":0,"queryTime":2}
    
    decoded:
    stdClass Object
    (
        [pageCount] => 1
        [dtQueryEnd] => 06.09.2019 12:45:40
        [page] => 1
        [pageSize] => 10
        [data] => Array
            (
                [0] => stdClass Object
                    (
                        [ogrn] => 1192225018655
                        [inn] => 2222876699
                        [isnew] => 1
                        [category] => 1
                        [regioncode] => 22
                        [dtregistry] => 10.06.2019 00:00:00
                        [nptype] => UL
                        [okved1] => 46.12.3
                        [okved1name] => Деятельность агентов по оптовой торговле промышленными и техническими химическими веществами, удобрениями и агрохимикатами
                        [citytype] => ГОРОД
                        [cityname] => БАРНАУЛ
                        [name_ex] => ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "АГРОПРОМ"
                        [has_licenses] => 0
                        [has_contracts] => 0
                        [is_hitech] => 0
                        [is_partnership] => 0
                        [cnt] => 1
                        [token] => 165829B539DC3C77CF61178C2A30D31063C0484A273F1A9E46AE13A56AB5F92CD54703FB92EAED7074657D9AA1B169E4
                    )
    
            )
    
        [dtQueryBegin] => 06.09.2019 12:45:40
        [queryCount] => 1
        [rowCount] => 1
        [rowLimit] => 0
        [queryTime] => 2
    )


    Как видишь, результаты в порядке, приходят все нужные данные в JSON. Я бы на твоём месте просто скопировал бы мой код в качестве примера и попробовал бы его выполнить у себя, потом попытался бы переписать функцию запроса так, чтобы она корректно работала. И кидать ответ в phpQuery совсем ни к чему, тебе ответ приходит в JSON, а не в HTML.
  • Можно ли отловить событие из vue компонента в нативном js?

    lazalu68
    @lazalu68
    Andrey Suha, а позвольте для начала поинтересоваться почему это нужно делать в обход vue? Я конечно поищу, но звучит странно, непонятный кейс
  • Как передается поисковое значение на сайте?

    lazalu68
    @lazalu68
    animr, не-не-не, ты покажи конкретно текст который тебе в ответ пришел, не надо его в phpQuery пока кидать. Конкретно что возвращает $obParseData->exec($url_pars)
  • Нужна ли проверка или можно полагаться на события вебсокета?

    lazalu68
    @lazalu68
    xfg, да, и правда, читал о подобных случаях когда гуглил, но вылетело из головы. Спасибо!

    По вопросу: действительно можно юзать этот heartbeat. Поставить таймаут в 10-15 и будет конфета.
  • Можно ли отловить событие из vue компонента в нативном js?

    lazalu68
    @lazalu68
    Andrey Suha, а при чем тут сленг? Сам ведь Эван говорит "вью", по правилам оно так и вроде русское комьюнити не перевирает, говорит так же... Ну это и правда не суть.

    В чем конкретно вопрос? Опишите кейс, а то не первый взгляд складывается впечатление, что вам просто нужен addEventListener
  • Как передается поисковое значение на сайте?

    lazalu68
    @lazalu68
    animr, теперь - определенно есть. А ответ по запросу есть?
  • Как передается поисковое значение на сайте?

    lazalu68
    @lazalu68
    animr, ты меня убьёшь так. Вот, смотри, там конечно много текста, но конкретно по этим опциям все довольно лаконично расписано.
  • Как передается поисковое значение на сайте?

    lazalu68
    @lazalu68
    animr, ты меня не читаешь что ли вообще) Пишу же - сделай пост. Поста у тебя там нет. Пост это тип запроса. Есть тип GET, есть HEAD, а есть POST)

    Пишу в гугле "php curl post", захожу по ссылке https://myru sakov.ru/php-curl-post.html. Ресурс сомнительный, но все равно в первом же примере кода вижу ответ на вопрос "как послать post-запрос с помощью curl в php".
  • Нужна ли проверка или можно полагаться на события вебсокета?

    lazalu68
    @lazalu68
    WebDev, ну во первых мне кажется что было бы логично блокировать ресурс только на какое-то определенное время, как раз чтобы избежать таких ситуаций когда пользователь открыл форму и сбежал: если действий не совершается, то форма ждет 10-15 минут, потом в течение нескольких секунд (где-то видел 15 секунд, очень удобно) показывает пользователю всплывашку с вопросом типа "Хотите продолжить работу с ресурсом?" и в зависимости от ответа пользователя либо закрывается, освобождая ресурс, либо остаётся открытой продолжая блокировать ресурс. Те же условные 10-15 минут можно дать и серверу на то чтоб подождать пользователя, спросить в сознании ли он, и в противном случае оборвать соединение.

    По теме: чуть чуть погуглил, все пишут что onclose это надёжная штука. Может быть по каким-то невероятным причинам у вас иногда выбрасывается ошибка в передаваемой функции?
  • Ответьте, пожалуйста, на вопросы по ES6?

    lazalu68
    @lazalu68
    Антон Швец, да, точно, совсем забыл про такую странную штуку как tagged templates. Хотя мне tagged templates кажутся абсолютно невнятной фигнёй для которой кейсов использования нету даже на мдн, вот тут пишут в принципе интересные вещи про них. Не использовал вообще никогда
  • Ответьте, пожалуйста, на вопросы по ES6?

    lazalu68
    @lazalu68
    Люто плюсую. Ох как же у меня горит когда я вижу в списке вопросов для собеседований что-то типа "расскажите какие фичы вы используете из es3? Из es5? Из es6?"

    От себя по вопросу могу добавить что всё перечисленное есть в этой статейке.

    По вопросу "что действительно нужно знать из es6": зависит от того, что вы понимаете под словом действительно. Из всех перечисленных в приведенной мною статье фич ES6 я пользуюсь всем кроме генераторов. Ну еще итераторы не переопределял, всё остальное идёт в работу. Хотя может кто и использует.
  • Как здесь работает preventDefault?

    lazalu68
    @lazalu68
    А что значит если написать код правильно, то ничего работать не будет? Вроде все нормально написано.

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

    lazalu68
    @lazalu68
    animr, я же пишу тебе: "по факту нигде в коде поста я не вижу". Сделай пост. Если с постом не будет работать, тогда уже будем думать что еще не так.
  • Как передается поисковое значение на сайте?

    lazalu68
    @lazalu68
    animr, вот ты пишешь "В php откорректировал под себя допустим и как мне его отправить post запросом", а по факту нигде в коде поста я не вижу.
  • Как передается поисковое значение на сайте?

    lazalu68
    @lazalu68
    animr, вот ты пишешь "В php откорректировал под себя допустим и как мне его отправить post запросом", а по факту нигде в коде поста я не вижу.
  • Как передается поисковое значение на сайте?

    lazalu68
    @lazalu68
    animr, раз нажал "Скопировать как cURL (cmd)", то значит ты отправляешь курлом из виндовой консоли, полагаю.

    Видишь ключ --data в последней строке? После него идет строка параметров запроса:

    "mode=quick^&page=^&query=1192225018655^&pageSize=10^&sortField=NAME_EX^&sort=ASC"

    В этой строке и лежат все данные которые отправляются на сервер. Насколько я понимаю, тебе надо менять только query. Подставляешь своё значение, копируешь получившийся код, выполняешь в консоли, получаешь ответ.