• Как сделать обратный отсчет, а затем появление кнопочки?

    xeeqqw
    @xeeqqw
    WEB-программист на ASP.NET MVC
    Код ниже работает при подключенном JQuery

    HTML:
    <div id="timerBlock">
            <p>Ожидайте <span class="seconds">10</span> секунд</p>
        </div>


    JavaScript:
    var timerBlock = $('.seconds');
    var num = 10; //количество секунд
    
    var index = num;
    var timerId = setInterval(function() {
      timerBlock.html(--index);
    }, 1000);
    
    setTimeout(function() {
      clearInterval(timerId);
      $('#timerBlock').html('<button>hello!</button>')
    }, num*1000);
    Ответ написан
    4 комментария
  • 2d игры на чистом JS без Canvas?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Все возможно, но!

    На дивах - в общем итоге вы получаете DOM-дерево. А DOM-деревья очень медленные, как браузер не оптимизируй. Они тащат за собой много много всякого легаси и много много не нужных для графики вещей.
    У них другое предназначение.

    Другое дело канвас, где все создано для быстрой отрисовки графики.

    Чем больше числа и чем слабее компьютер - тем заметнее разница.
    Ответ написан
    Комментировать
  • Оптимизировать удаление элементов инфоблоков возможно?

    serginhold
    @serginhold
    написать свой delete, с блэкджеком и куртизанками

    если посмотреть исходники в плане удаления свойств, то там что-то странное происходит, select, update зачем-то
    bxapi.ru/src/?module_id=iblock&name=CIBlockElement...

    по сути это просто записи в куче разных таблиц, судя по исходникам, удаляется не только элемент, но и его вариации, если используется документооборот

    ну и ручками
    DELETE FROM и куча таких таблиц

    проблема только в том, что не сработают события, и останутся файлы в /upload

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

    @jasper-blondin
    Скрипт уже закончил работу?
    Я так понимаю, Вы запустили скрипт, а потом написали вопрос.

    Оптимизировать можно следующим образом:
    - в метод GetList добавить массив с полями выборки array("ID"), чтобы не тянуть из базы значения, которые не нужны
    - выполнять метод Delete прямо в теле цикла while, чтобы не собирать без надобности массив

    Если все еще не хватает времени на выполнение, написать простенькую клиентскую часть с AJAX-запросом. Будет работать медленно, но гарантировано выполнит задачу и не уйдет в таймаут.
    Ответ написан
    Комментировать
  • 1С-Битрикс. Как массово и достаточно быстро удалить все разделы в инфоблоке?

    BusteR27
    @BusteR27
    Lead bitrix dev
    Но судЯ по коду, вы собрали массив разделов и потом удаляете элементы с этими id.

    Один из вариантов - выключить индексирование инфоблока модулем поиска
    Ответ написан
    Комментировать
  • 1С-Битрикс. Как массово и достаточно быстро удалить все разделы в инфоблоке?

    winer
    @winer
    занимаюсь разработкой сайтов на 1c-bitrix
    При большом количестве разделов (30к+), Bitrix начинает вставлять палки в колеса как разработчику, так и пользователю, который будет работать с такими ИБ.
    - Списки элементов ИБ будут безбожно тормозить в интерфейсе. На каждом хите будет добавляться фильтр по разделу.
    - Редактировать их становится очень затруднительно, опять же из за долгой загрузки интерфейса и большого времени изменения.

    Всё это из за того что разделы это NESTED SETS деревья. При добавлении/удалении раздела происходит вычисление LEFT_MARGIN и RIGHT_MARGIN для каждого раздела во всем инфоблоке.

    Для добавления и обновления (CIBlockSection::Add, CIBlockSection::Update) есть параметр метода $bResort, который позволяет отключить этот перерасчёт в момент их выполнения.
    Только после этого ОБЯЗАТЕЛЬНО надо выполнять CIBlockSection::Resort.

    Это можно использовать при большом количестве операций Update и Add. Сначала выполняете все операции Update и Add с $bResort=false, а после них CIBlockSection::Resort

    НО!! К сожалению, такой параметр для CIBlockSection::Delete не доступен. И вот тут начинается жесть.
    Каждый вызов CIBlockSection::Delete, это:
    • пересчет границ NESTED SETS,
    • CIblockElement::GetList (поиск вложенных элементов)
    • CIblockElement::Delete (если в разделе были элементы),
    • Запрос к таблице которая хранит множественные привязки элемента к разделам (поиск значений и их удаление)
    • CIBlockSection::GetList (поиск вложенных разделов)
    • CIBlockSection::Delete (удаление вложенных разделов)
    • Переиндексирование поиска
    • Запросы к UF_* полям раздела (поиск значений и их удаление)
    • При заполненных SEO полях, запросы к таблицам которые их хранят (поиск значений и их удаление)
    • При расширенном управлении правами это еще запросы к таблицам которые хранят эти настройки (поиск значений и их удаление)


    и это скорее всего не полный список, а только то что могу назвать по памяти....

    Нельзя быстро удалить разделы стандартным API без написания своих запросов к БД которые проделают всё что описано выше. В идеале надо взять код стандартного CIBlockSection::Delete, внимательно его изучить и написать свой метод который будет с помощью прямых запросов делать тоже самое, но оптимально.

    Если же вопрос стоит в том чтобы удалить эти разделы за ЛЮБОЕ количество времени, тогда можно написать страничку с пошаговым удалением разделов, через ajax запросы. Причем надо учитывать, что вначале разделы будут удаляться ОЧЕНЬ медленно и ajax запрос может отвалиться по таймауту, поэтому надо будет за один шаг удалять пару разделов. А ближе к границе в 10к разделов, за один шаг можно будет удалять уже большее количество.
    Ответ написан
    Комментировать
  • Где бы стащить select список стран?

    https://accounts.google.com/SignUp

    страница регистрации Google (последнее поле)
    и доступно во большинстве языков)))
    Ответ написан
    2 комментария
  • Как правильно продлить Let's Encrypt сертификат для панели ISP?

    tegrato
    @tegrato
    Я создал новый поддомен, изначально сделал его без HTTPS.
    На следующий день в меню ISP Manager Настройка -> Адреса панели добавил дополнительный адрес, там же создал для него новый сертификат с помощью Let's Encrypt.
    Прикол состоит в том, что данный сертификат потом не отображается в списке сертификатов в панели.
    Руками нечего не делаю, все само обновляется.
    Ответ написан
    1 комментарий
  • Как называется этот слайдер?

    bootd
    @bootd Куратор тега CSS
    Гугли и ты откроешь врата знаний!
    Нету у него названия, есть слайдеры и есть опции у них для кастомизации
    https://swiperjs.com/demos/ - Fraction Pagination
    Ответ написан
    Комментировать
  • Как называется этот слайдер?

    Beeetle
    @Beeetle
    Прям с такой кастомизацией вряд ли найдете, slick или owl - хорошие слайдеры, можно их наворачивать как хотите
    Ответ написан
    Комментировать
  • Как заставить Chrome использовать правильный логин при обновлении пароля?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    1 - сверить url, если там хоть на один символ отличие, поведение браузера вполне логично
    2 - если вы абсолютно уверенны что нашли баг, вам сюда https://www.chromium.org/for-testers/bug-reporting...
    Ответ написан
    Комментировать
  • PHP. Яндекс Карты. Как определить расстояние между двумя точками по дорогам?

    kentovsky
    @kentovsky
    php, js, mysql разработчик
    Можно считать по гугль картам
    $from = "Санкт-Петергубг Ленина 5";
    $to = "Выборг Ленина 20";
    
    $from = urlencode($from);
    $to = urlencode($to);
    
    $data = file_get_contents("http://maps.googleapis.com/maps/api/distancematrix/json?origins=$from&destinations=$to&language=ru-RU&sensor=false");
    
    $data = json_decode($data);
    echo "Откуда: ".$data->destination_addresses[0] . "<br/>" .
         "Куда: ". $data->origin_addresses[0] . "<br/>" .
         "Время: ". $data->rows[0]->elements[0]->distance->text . "<br/>" .
         "Путь: ".$data->rows[0]->elements[0]->duration->text;
    Ответ написан
    1 комментарий
  • Как получить значение пользовательского свойства раздела инфоблока?

    Примечание №1: для вывода пользовательских свойств обязательно должен быть передан IBLOCK_ID и в arSelect код необходимых свойств UF_XXX.
    dev.1c-bitrix.ru/api_help/iblock/classes/ciblockse...
    Ответ написан
    Комментировать
  • Как вытащить Битрикс сайт из папки?

    @RuComMarket
    Битрикс FullStack разработчик
    перенаправь домен на эту папку и не надо ничего вытаскивать)
    Ответ написан
    5 комментариев
  • Bitrix спамят новыми пользователями. Как быть?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Не уверен, но попробуйте так:
    #Блокируем ботов через .htaccess
    RewriteEngine On
    RewriteCond %{QUERY_STRING} register= [NC]
    RewriteRule ^.*$ - [R=404,L]
    Ответ написан
    1 комментарий
  • Bitrix спамят новыми пользователями. Как быть?

    @TheTigger
    В настройках главного модуля отключите регистрацию.
    Настройки - настройки - настройки модулей - главный модуль - вкладка авторизация - там галка "разрешать регистрацию пользователей
    Ответ написан
    1 комментарий
  • Как отправить запрос с сайта в 1С?

    Mikhail_E
    @Mikhail_E
    1С, SQL
    Да, есть такая возможность.
    У 1С есть такой объект в конфигураторе "Web Сервис". но на стороне сервера 1С должен стоять Apache или IIS. Она (1С) прописывает свою Dll в Веб сервер и Имя вебсервиса с путем к базе данных. Ты посылаешь запрос на вебсервер (Например Localhost/myDB/PostOrder), у него (Вебсервера) в конфиге прописано - обращаться на нужую Dll, Dll пересылает запрос на конкретную базу, а там конекретный вебсервис (По имени входа), а там уже процедура и дальше код 1С ... с возвратом или без .. по желанию.
    Больше информации гуглится по "1с веб сервис пример"
    Ответ написан
    Комментировать
  • Как отправить запрос с сайта в 1С?

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


    Тогда нужен Web или HTTP сервис
    Ответ написан
    8 комментариев
  • Как отправить запрос с сайта в 1С?

    @RuComMarket
    Битрикс FullStack разработчик
    Если не ошибаюсь, в целях безопасности сделано так что только 1С может делать запросы и получать ответы, а вот к 1С обратиться нельзя иначе бы ее можно было легко уронить.
    информирование о заказе думаю должно быть реализовано таким образом: 1С через определенное время должен забирать заказы с сайта, которые хранятся в бд
    Ответ написан
    6 комментариев