• Как сделать счетчик посещений?

    GM2mars
    @GM2mars
    Самый простой способ это через куки.

    Код работы с куками: (установка, получение и удаление)
    function setCookie(name,value,days) {
    	if (days) {
    		var date = new Date();
    		date.setTime(date.getTime()+(days*24*60*60*1000));
    		var expires = "; expires="+date.toGMTString();
    	}
    	else var expires = "";
    	document.cookie = name+"="+value+expires+"; path=/";
    }
    function getCookie(name) {
    	var nameEQ = name + "=";
    	var ca = document.cookie.split(';');
    	for(var i=0;i < ca.length;i++) {
    		var c = ca[i];
    		while (c.charAt(0)==' ') c = c.substring(1,c.length);
    		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    	}
    	return null;
    }
    function delCookie(name) {
    	setCookie(name,"",-1);
    }

    Алгоритм простой, при первом заходе пользователя на страницу проверяем, стоит ли у него кука "counter", если стоит, то получаем её значение + 1 и снова сохраняем. Где-нибудь выводим её значение. Если не стоит, то просто создаем со значением =1 и с каким нибудь большим временем жизни.

    if (getCookie("counter")) {
      var count=getCookie("counter")+1;
      setCookie("counter",count,365);
    } else {
      setCookie("counter",1,365);
    }
    
    console.log("Вы зашли на эту страницу "+getCookie("counter"));


    Чтоб-бы сохранять посещения только за одну сессию (не считая каждого обновления страницы и внутренних переходов) дополнительно создаем куку длительностью сессии (не указываем время жизни куки) и делаем дополнительную проверку, если доп. куки нету, значит к счетчику +1 и создаем доп. куку, если доп. кука есть, значит ничего не делаем.
    Ответ написан
    5 комментариев
  • Настройка Visual Studio Code?

    tomnolane
    @tomnolane
    профессиональный разработчик
    самые основные:
    Auto Close Tag - авто закрытие тегов
    Auto Rename Tag - переименование парных тегов
    Beautify - разжатие кода (из minify в стандартный вид)
    highlight-mathing-tag - подсвечивание парных тегов (нужно настроить в конфиге, чтобы поярче было)
    html snippets - сниппеты как в сублайме
    insert <br> tag - вставка тега новой строки через шифт+enter
    PHP Debug - деббагер для php (нужно настраивать)
    Debugger for Chrome - JS дебаггер
    vscode-icons - иконки для VSC
    minify - сжатие кода
    css auto prefix - автопрефиксы
    Insert Numbers - полезное расширения для вставки чисел определенного формата во множество мест с инкрементом
    ================
    ещё некоторые, которые я добавил и пользуюсь:
    apache Conf (для подсветки .htaccess)
    AutoFileName - дополнение пути (например для "requere" в node.js)
    Bookmarks - делать закладки в коде
    Bracket Pair Colorizer - подсвечивать парные скобки (квадратные, фигурные, прямоугольные, круглые) очень удобно
    gitignore - добавляет .gitignore файл под проект (node.js, docker, yii2, laravel и т.д.)
    GitLens — Git supercharged - показывает гит-коммиты в коде (и автора коммита, удобно в командной разработке)
    HTML Class Suggestions
    Live Server - открывает браузер, где в режиме "онлайн" видишь изменения в html
    Markdown Preview Enhanced - тоже самое, что и Live Server, но только для страниц с markdown разметкой
    Material Icon Theme - для красоты VSC)
    Monokai Dark Soda - моя любимая тема разработки
    MySQL Syntax - для подсветки синтаксиса sql
    PHP Intellisense -
    Quick gitignore - добавляет файл/директорию в gitgnore
    Regex Previewer - помогает в регуляркой
    SQL Server (mssql) - для работы с sql server
    SVG Viewer - просматривать SVG картинки
    Todo Tree - делать заметки, удобно
    Remote FS - для удаленного подключения по FTP (удобно, если несколько серверов), пример конфига:
    { 
        "remotefs.remote": {"site": {
            "scheme": "ftp",
            "host": "1************01",
            "username": "ad**********ain",
            "password": "Lv************xF",
            "rootPath": "/"
          },
          "site2": {
            "scheme": "ftp",
            "host": "17**********1",
            "username": "a*****************m",
            "password": "************O",
            "rootPath": "/"
          },
          "moy-yandex": {
            "scheme": "ftp",
            "host": "a***********u",
            "username": "a***************mone",
            "password": "1***************W",
            "rootPath": "/"
          }
      }


    UPD
    Есть ещё хорошее приложение: Gremlins. Он подсвечивает невидимые символы в коде. Но его нужно немного "допилить", чтобы показывал невидимый символ юникод u+feff (образуется часто, когда кодировка страницы UTF-8 with BOM)
    собственной как допилить я сам же описываю в своем вопросе: тут

    что касается сннипетов для php: бывает такое, что они не срабатывают и тут две причины: пользователь достаточно быстро жмет TAB (VSC не успевает ещё понять, что пользователь закончил ввод) и когда достаточно долго работаешь в VSC без перезагрузки последнего.

    ИМХО: рано или поздно эта проблема решиться. VSC стремительно развивается и такая проблема будет решена (до этого чтобы быстрее было - лучше написать сюда об этом)
    Согласен с Artem , с тем, что Brackets имеет некоторые вещи лучше и оптимизированнее, чем VSC, и я для Front-end чаще работаю в Brackets (в большей части из-за возможности видеть online изменения тут же в браузере). Но главный минус Brackets от VSC - при большой кол-во плагинов он очень-очень тупит, также мне не нравится работа Brackets-ftp.
    Послесловие:
    VSC ещё учится и становится лучше. Рано или поздно он обгонит и Sublime, Atom и другие IDE - это вопрос времени, потому что: 1) он open source 2) финансирует и ведет разработку Microsoft 3) бесплатен!!! и последнее камень в огород всем крупным IDE
    Ответ написан
    2 комментария
  • Как отключить сворачивание в Bootstrap accordion?

    @pahazaytsev
    div class="panel-group" id="accordion" и data-parent="#accordion" развязать между собой, указав разные id, тогда не будет авто свертки
    Ответ написан
    Комментировать
  • Палитра красок на сайт по примеру - как вообще такое реализовать?

    Ankhena
    @Ankhena Куратор тега JavaScript
    Нежно люблю верстку
    Как-то так: https://jsfiddle.net/Ankhena/r3d1djns/
    дальше можете дорабатывать на свой вкус
    Ответ написан
    3 комментария