Category Archives: javascript
Огромное количество полезных ссылок для фронт-енд разработчика
https://github.com/dypsilon/frontend-dev-bookmarks
Motio — библиотека для анимации фонового изображения
http://darsa.in/motio/
Touche.js — jquery plugin для подмены click на touch
Библиотека понимает, когда устройство поддерживает touch-события, и все обработчики, навешенные через on(‘click’, …), навешивает на событие touchend. http://benhowdle.im/touche/
AngularJS: особенности ng-switch (и, возможно, ng-if)
Элементы с директивой ng-switch-when(ng-switch-default) вставляются в конец DOM. И поэтому, к примеру, список будет выводиться не в том порядке, как это задумано. В таких случаях лучше использовать ng-show/ng-hide
1 2 3 4 5 6 7 |
<div ng-app ng-controller="MyCtrl">{{val}} <ul ng-switch="val"> <li>1</li> <li ng-switch-when="1">2</li> <li>3</li> </ul> </div> |
Server sent events (sse) с примерами использования
https://developer.mozilla.org/en-US/docs/Server-sent_events/Using_server-sent_events http://www.html5rocks.com/en/tutorials/eventsource/basics/ Всё сводится к:
Проверка поддержки html5-свойств конкретным браузером
http://html5test.com/ — проверяет поддержку всего, что есть в спецификациях html5, в текущем браузере. Удобно для работы с мобильными браузерами. Удобнее, чем выискивать на http://caniuse.com, а ещё лучше в связке.
Сервис для сборки кастомного jQuery
http://projects.jga.me/jquery-builder/
AngularJS Unknown provider: $scopeProvider <- $scope <- selectorDirective
Такая ошибка может возникнуть при создании новой директивы, особенно при выносе контроллера в директиву. Скорее всего, она возникла из-за того, что была объявлена зависимость от $scope, например:
1 2 3 4 5 6 7 8 9 10 11 12 |
directives.directive('selector', [<strong>'$scope'</strong>, 'GeoSelect', function selectorGeoExtended(<strong>$scope</strong>, GeoSelect) { return { restrict: 'AE', replace: true, scope: {}, template: '<div></div>', link: function ($scope) { // @debug console.log($scope); } }; }]); |
Объявление директивы нужно заменить на
1 |
directives.directive('selector', ['GeoSelect', function selectorGeoExtended(GeoSelect) { |
Dirty checking в AngularJS и производительность
Misko Havery рассуждает о производительности data-binding в AngularJS: http://stackoverflow.com/questions/9682092/databinding-in-angularjs/9693933#9693933
Как работает javascript — описание принципа асинхронного исполнения
Недавно спрашивали, чем отличается асинхронное программирование от многопоточного. Если коротко — в javascript один поток (и использует он только одно ядро), но при этом может выполняться несколько различных действий одновременно. Это связано с тем, что javascript основан на событийной модели исполнения, и там, где остальные языки ждут ответа (от файловой системы, от базы данных, от …