Записи с тегом «javascript»

JSON Web Token авторизация для Sails.js

Рассматривая фреймворк Sails.js в качестве инструмента реинкарнации одного старого PHP-проекта я решил попутно посмотреть что есть из готовых модулей для реализации авторизации с применением JSON Web Token (JWT). Так вот, на момент публикации статьи, готовые решения отсутствуют. Есть лишь небольшой ряд примеров по работе с JWT в Sails, абсолютно…

Автоматизированное получение золотого значка на StackOverflow c помощью Nightmare

Изучая значки (badges) на StackOveflow.com, я обратил внимание на золотую награду "Фанатик" (Fanatic), которая дается при выполнении условия: Visit the site each day for 100 consecutive days. (Days are counted in UTC.) (пер.: "Посещать сайт ежедневно в течение 100 дней подряд. (Учёт дней по UTC.)"…

Расширение Chrome для сбора статистики по использованию localStorage

Работая над расширением для Chrome Local Storage Explorer решил параллельно собрать статистику о хранимых типах данных в localStorage и sessionStorage. А именно: как часто веб-разработчики используют локальное хранилище для размещения JSON-объектов. Подразумевается, что информация будет собираться моим браузером на каждом посещенном сайте, в фоне. Полагаю, информации с пары-сотен доменов будет…

Простой способ распарсить и редактировать URL строку

Необходимость распарсить и модифицировать URL-строку произвольного вида часто приводит к использованию большого количества регулярных выражений. Есть достаточно удобный способ этого избежать и переложить парсинг URL на сторону браузера. Для этого необходимо создать (но не прикреплять к DOM) элемент <a> и указать нужный URL в href: var parser = document.…

Сниппет для подсветки клика по элементу на чистом JS

Важной кнопке или интерактивному элементу, с которым пользователь может взаимодействовать посредством клика, зачастую не хватает подтверждения совершённого действия. Для таких случаев автор применяет небольшой JavaScript-сниппет для анимации. Суть анимации такова: мгновенная установка свойства background-color и последующее плавное изменение его до оригинального значения спустя несколько секунд. Демо Некая важная кнопка для…

Рекурсивное сложение всех цифр числа

Возникла необходимость в реализации алгоритма сложения всех цифр числа до тех пор, пока не получится однозначное. Пояснение задачи Имеется некое число, требуется получить сумму его цифр. Если в результате сложения получено не однозначное число — процедура сложения цифр повторяется уже для полученной суммы. И так до тех пор, пока на выходе…

Часы чертежника на Canvas

Рассмотрим пример реализации часов чертежника с применением Canvas. Canvas — элемент HTML5, на котором можно создавать растровые изображения с помощью чистого JavaScript. Часы чертежника — оригинальная идея аналоговых часов, стрелки которых являются ребрами прямоугольного параллелепипеда. Приводится демонстрация результата и аннотированный исходный код. Демо Исходный код > > Gist «squareclock.html» Подробности ниже.…

Событие тройного клика для jQuery. Плагин «TrplClick».

При разработке сложного веб-приложения или какого-нибудь RIA могут потребоваться кастомные пользовательские события мыши. Один из примеров такого события — тройной клик (triple click) правой кнопкой мыши по элементу. Для реализации подобного события и его обработки разработчик может ошибочно использовать не самые удачные варианты, такие как: отслеживание трех обычных кликов на основании…

Генерация случайных чисел в широком интервале на JavaScript

Задача генерации случайных чисел c равной вероятностью выпадания разных порядков в широком интервале не является тривиальной. Предположим, необходимо получить целое число от 1 до 999999999999999 случайным образом, причем числа разных длин должны выпадать одинаково часто. Это означает, что двух- и трехзначные числа, к примеру, должны выпадать так же часто, как…