AngularJS: директива для вставки html выполнением всех скриптов

Допустим, мы получаем с сервера код вида

и хотим его вывести в шаблоне. Для обычного вывода с парсингом html-тегов достаточно

Но, к примеру, jQuery умеет выполнять все скрипты, которые есть в строке ad.html. AngularJS такого из коробки не умеет. Поэтому была написана директива bind-html-with-js, используется она также:

При этом все скрипты, и …

Read more

Странный вывод странного кода

выведет

Почему? Вкратце — судя по всему, eval работает с контекстом корректно только при прямом вызове. А если вызвать его ненапрямую, например

то и в этом случае контекст сбросится на глобальный. Тут есть попытки объяснения: http://stackoverflow.com/questions/19357978/indirect-eval-call-in-strict-mode http://stackoverflow.com/questions/9107240/1-evalthis-vs-evalthis-in-javascript

Тест на регулярные выражения

http://regex.alf.nu/ Вот мой результат — http://grab.by/trRg (заняло часа три, помогал ребёнок трёх лет). Максимум, который видел — 3886 очков (правда за 3 с лишним дня).

CSS-анимация разных вращений

Всё сводится к подбору нужной перспективы у контейнера (http://www.w3.org/TR/css3-transforms/#perspective-property)

А для самого элемента к подбору точки вращения (http://www.w3.org/TR/css3-transforms/#transform-origin-property)

и повороту по нужной оси на нужный угол (http://www.w3.org/TR/css3-transforms/#funcdef-rotate)

Kanbanflow — система распределения задач

На вид симпатичная, простая и быстрая. Позволяет бесплатно создавать множество «досок». Совместный доступ. Есть мобильная версия (правда, не приложение). https://kanbanflow.com/

Фильтры картинок на клиенте

«Фильтрация изображений (автоматические корректировки параметров, эффекты, пост-обработка и т.п.) – это задачи которые до недавнего времени вообще не возможно было решить в браузере. Все делалось с помощью старых друзей: флеша, сервера или фотошопа. Сейчас, в связи с повсеместным использованием html5 и css3, появилось и развивается сразу несколько возможностей обработки изображений непосредственно в браузере. Давайте попробуем …

Read more

Grunt-таск для замены ng-include на код шаблонов

Чтобы не делать лишних запросов на production, здесь решили вставить подключаемый шаблон напрямую: https://github.com/mgcrea/grunt-nginclude

Loading bar-сервис для AngularJS

Всё сделано через interceptors, всё «по-умному». http://chieffancypants.github.io/angular-loading-bar/ Мне, правда, аткой вариант не подходит (я про интерсепторы), уж очень он сильно ограничивает.

Алгоритм бесконечного скролла для AngularJS

Сам не реализовывал (не было надобности), только отдельные части, но кое-какие идейки имеются. Основные идеи Нужно ограничить общее количество элементов, выводимых на странице (допустим, минимальная высота элемента 100 пикселей, максимальная высота экрана — 2000 пикселей, тогда выводить нужно 50 элементов, с запасом). Обновлять выводимые элементы при скролле с использованием throttle. Если хотим иметь правильный скролл, …

Read more

Throttle-сервис для AngularJS

Часто нужно вызывать функцию не по возникновению события, а после некоторой задержки, и не чаще, чем раз в какое-то время. Для этого используются throttle и debounce. Throttle Debounce Более подробно о том, что это такое и как реализовать его на jquery — http://benalman.com/projects/jquery-throttle-debounce-plugin/ (тут он всегда живой — https://web.archive.org/web/20170205101542/http://benalman.com/projects/jquery-throttle-debounce-plugin/). Мне такой понадобился для AngularJS. Представляю …

Read more