Россия, г. Томск, ул. Тверская 51/1 +7 (960)969-87-11 suren1511

Технические заметки

Технические заметки

  • Архив

    «   Август 2019   »
    Пн Вт Ср Чт Пт Сб Вс
          1 2 3 4
    5 6 7 8 9 10 11
    12 13 14 15 16 17 18
    19 20 21 22 23 24 25
    26 27 28 29 30 31  

Номер телефона для России, при вводе в input

function ValidPhone(valphone) {
    var osnval = valphone.val();
    var prob = valphone.val().replace(/[^0-9+]/, ''),a,nprob,keycod;
    keycod = event.keyCode;
    nprob = prob;

    if (keycod == 8 || keycod == 46) {
        nprob = osnval;
    }
    else{
        if (prob.length >= 5) {
            a = prob.split('');
            a.splice(2, 0, ' ');
            nprob = a.join('');
        }
        if (prob.length == 8) {
            a = nprob.split('');
            a.splice(6, 0, ' ');
            nprob = a.join('');
        }
        if (prob.length == 11) {
            a = nprob.split('');
            a.splice(10, 0, ' ');
            nprob = a.join('');
        }
        if (prob.length == 13) {
            a = nprob.split('');
            a.splice(13, 0, ' ');
            nprob = a.join('');
        }
    }
    if (prob.length == 15){
        valphone.parents('.loginform').find('button.button').removeAttr('disabled');
    }
    else{
        valphone.parents('.loginform').find('button.button').attr('disabled', 'disabled');
    }
    if (prob.length > 15) {
        badpneinput(valphone);
    }
    if (prob.length == 15){
        gogvalphone(valphone);
    }
    valphone.val(nprob);


}

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

Необходимые полезные мелочи

Очень часто при разработке сайты на Битрикс приходится использовать различные  стандартные конструкции кода. Предлагаю некоторые полезные функции которые необходимы в повседневной жизни разработчика 1С Битрикс.
Эту заметку, скорее всего я пишу для себя.Это своего рода сниппеты. Загружать в каждый проект, который я в данный момент разрабатываю, довольно хлопотное и я думаю не совсем нужно делать. Документация Битрикс достаточно объемная. Запомнить всё, конечно возможно, но возникает вопрос,  а нужно ли это делать.
Я думаю каждый разработчик постоянно использует документацию в своих целях. То есть постоянно обращается к ней, по крайней мере я так надеюсь.
На самом деле это далеко не так. Мой опыт показывает, практически 70% проектов которые мне приходилось исправлять, те программисты которые занимаются, точнее занимались этим проектом до меня, вряд ли обращались при разработке к технической документации Битрикс. Документация Битрикс расположена по адресу: https://dev.1c-bitrix.ru/api_help/ . Настоятельно рекомендую всем тем кто занимается разработкой Битрикс сделать эту страницу стартовой в своём браузере. О тех приколах то что я видел в разработках горе программистов, которые возможно прочитали документацию,возможно изучили курсы 1С Битрикс. Изучив всё это, горю программисты считают себя знатоками, работают быстро, по памяти. Это конечно похвально. После этого они начинают писать различные посты о том как плохо этот  Битрикс. Что сайты на нём не работают. Но ничего, когда приводишь в нормальное состояние их код, сайт начинает работать нормально.
Отвлекся от темы. В документации конечно можно найти всё. Ну иногда, просто достаточно долго передвигаться по документации,  при этом если у тебя установлена   phpStorm, правильно настроить автокомплит кода в Битрикс. Всё достаточно просто. Ну ещё быстрее я думаю использовать некоторые такие конструкции коды которые находятся в какой-то записной книжке.
Здесь представлю вам, некоторые конструкции кода, которые я наиболее часто использую.
1. В любой проект заголовках шаблона я ставлю вот такую конструкцию  кода.
<?
$curPage = $APPLICATION->GetCurPage(true);
$arCurPage = explode('/', $curPage);
?>

Это конструкция кода разбивает адресную строку браузера в массив. Я надеюсь не надо объяснять для чего это нужно.
Вот простой пример применение данной конструкции.
<?
if ($arCurPage[1] != 'index.php'){
    ?>
    <div class="section">
        <div class="container">

                <?$APPLICATION->IncludeComponent("bitrix:breadcrumb", "", array(
                    "START_FROM" => "0",
                    "PATH" => "",
                    "SITE_ID" => "-"
                ),
                    false,
                    Array('HIDE_ICONS' => 'Y')
                );?>

          
        </div>
    </div>
    <div class="section p0">
        <div class="container">

                <h1 class="titl-sistem"><?= $APPLICATION->ShowTitle(false); ?></h1>

        </div>
    </div>
    <?
}
?>

Это пример размещения хлебных крошек, и заголовка на всех страницах сайта, за исключением главной странице сайта.

Продолжение следует ....

При загрузке страницы прелоадер

В настоящее время если посмотреть современные шаблоны  сайтов, мы можем обратить внимание на то, что пока загружается страница. Точнее пока она не загрузится полностью, она закрывается  прелоадер. Это такая пустая страница, во время которой загружается основной контент. В момент загрузки страницы,  она загружается  постепенно. В некоторых случаях на странице работают скрипты в момент загрузки, и не всегда корректно отображается, например слайдеры, сторонняя реклама. Многие страницы грузятся достаточно долго. Такая страница  пока не загрузилась,  блоки на такой странице скачут. И бывают моменты, что до загрузки пользователь нажимает приглянулся ему ссылку, но в момент нажатия на ссылку, на место клика под грузился совершенно другой элемент. И пользователь попадает на совершенно другую страницу, перейдя по совершенно другой ссылки.
То есть в некоторых случаях  прелоадер играет положительную роль. Но в ряде случаев, особенно в современном мире мобильных устройств, прелоадер может сыграть отрицательную роль. Главная страница сайта обычно содержит достаточно большой контент. Без прелоадера пользователь уже бы увидел часть загруженной страницы.  И он бы уже понял что на сайте есть информация которая его интересует. Ну если существует перебои в сети, плохое качество соединения мобильной связи, или пользователь находится  в зоне плохого интернет соединения, страница будет грузится медленно. И всё это время пользователь будет видеть только  прелоадер.
Для того чтобы избежать при загрузке страницы перемещение блоков в зависимости от порядка работы скриптов.  необходимо подготавливать заранее такие блоки по высоте. В этом случае скрипт будет отрабатывать загрузку контента в уже подготовленный и сформированный блок.

Цветовое оформление сайта

 При создании сайта дизайнеры использует различные цветовые решения. Также они предлагают не только конкретные цвета, но в большинстве своём используют различные полутона.
Нельзя забывать, что пользователи  используют для просмотра страниц  различные браузеры.  Однако существует такое понятие как в Web-цвет.  Это сочетание  кода, имеется в виду код цвета, который будет просматриваться одинаково на любом браузере, на любой платформе. Цветов этих 256. Остальные цвета относятся   к небезопасным.
Это таблица безопасных цветов для использования. Но дизайнер не всегда использует именно эти цвета, есть какие-то полутона, которые по его мнению наиболее подходит, для дизайна данного сайта. Однако выбранный цвет не всегда соответствует таблице безопасных цветов.
Для использования такого цвета, и корректного отображения во всех браузерах на всех платформах необходимо использовать картинку размером 1 на 1 пиксель.
Иногда дизайнеры создают Градиент. В этом случае можно использовать размер картинки в высоту блока и допустим шириной 1px.
Фото:

Tехнические заметки

Подраздел для технических заметок. Здесь можно выкладывать, и скорее всего даже нужно, различные технические заметки связанные с настройка кода, форматированием, программирование, верстка. В общем всё что касается технических деталей разработки проекта для интернет.
Яндекс.Метрика Top.Mail.Ru