Рубрика «javascript» - 554

image

Если вы когда-либо загружали видеофайл на сайт, то знаете это чувство когда загрузилось 90% и вы случайно обновляете страницу.

В этом учебном руководстве я покажу, как сделать видео загрузчик для сайта, который может возобновить прерванную загрузку, и генерировать обложку после завершения.

Исходные файлы
ДЕМО

Читать полностью »

I. Суть проблемы.

В список основных предназначений XMLHttpRequest, конечно, не входит запрос HTML, чаще этот инструмент взаимодействует с XML, JSON или простым текстом.

Однако связка XMLHttpRequest + HTML хорошо работает при создании расширений к браузеру, которые в фоновом режиме опрашивают на предмет новостей сайты, не предоставляющие для этого почтовую подписку, RSS или другие экономные API или предоставляющие эти сервисы с какими-то ограничениями.

При создании нескольких расширений для Firefox я сталкивался с такой необходимостью. Работать с полученным от XMLHttpRequest кодом HTML при помощи регулярных расширений — способ очень ненадёжный и громоздкий. Получить DOM от XMLHttpRequest можно было лишь для правильного XML. Поэтому приходилось следовать хитрым советам на сайте разработчиков. Однако начиная с Firefox 11 появилась возможность непосредственного получения DOM от XMLHttpRequest, а в Firefox 12 была добавлена обработка таймаутов.

Я испытал новую возможность на создании мини-индикаторов новых топиков для двух небольших форумов, и это оказалось очень удобным (50 строчек кода плюс расширение CustomButtons — вот и готовый индикатор за пять минут, с опросами по таймеру и четырьмя состояниями: нет новостей, есть новости, ошибка и таймаут). Всё работало как часы.

Поэтому я попытался убрать из кода своих расширений все прежние костыли и ввести туда новый удобный парсинг. Однако при работе с сайтом rutracker.org возникла странная проблема (тестирование проходит на последней ночной сборке под Windows XP; очень прошу прощения за все косяки в коде и формулировках: у меня нет программистского образования и опыт мой в этой сфере, к сожалению, очень невелик.).

Читать полностью »

Привет, читатели!
По следам недавно прошедшей конференции DevConf 2012 хочу поделиться записями из своего блокнота, которые показались лично мне наиболее интересными и полезными. Возможно, кому-то все это хорошо известно. Поскольку доклады шли одновременно в нескольких залах, то все их посетить было невозможно, поэтому ваши дополнения с удовольствием почитаю в комментариях.
Темы, которые прежде всего интересовали меня, это:
— развертывание системы и непрерывная интеграция (Continuous Integration)
— PHP 5.4, PHPUnit, Yii
— тестирование в javascript
Читать полностью »

Folding для объектов JavaScript в TextMate

TextMate умеет сворачивать куски кода — это удобно, т.к. позволяет окинуть код взглядом целиком. К сожалению по умолчанию в JavaScript он сворачивает только функции, а иногда хочется свернуть и другие большие структуры (условия/циклы/объекты/списки)

Чтобы это было возможно, нужно подправить условия нахождения границ блоков.
Для этого нужно открыть редактор настроек (Bundles → Bundle Editor → Show Bundle Editor)
Там находим узел с нужными настройками языка (JavaScript → JavaScript)
Заменяем значения foldingStartMarker на '^.*({|[)s*$', а foldingStopMarker на '^s*(}|])'Читать полностью »

В частности модули ajax, css, dimensions, effects, offset. Новость уже появилась давно. Коммит с анонсом данной возможности на github-е появился еще 7 июня.
Не так часто, но встречал спор насчет размера и лишнего функционала, да и я сам был бы не проч исключить модули для некоторых проектов. Надеюсь возможность исключить модули появятся и на популярных CDN. Как это можно собрать — под катом или на github-е.
Читать полностью »

Внимание, отчёт!

.toster: Javascript supportado!

Кто первым найдёт все «пасхальные яйца», тому плюс в карму ;)
Читать полностью »

Привет!

Всем известно решение задачи загрузки скриптов.
Например Curl.JS, Require.JS, + популярные frameworks умеют это тоже.

Вот и недавно была статья про это от уважаемого azproduction.

Но все же интересно, есть ли альтернативы AJS, CJS, etc, учитывая ссылку.

Что если есть возможность загрузить JavaScript забыв про обыденные «мелочи» типа:

define( function(){
  return MyBeautifulObject;
});

Пример для самых нетерпеливых.

Далее небольшая заметка о том как это работает.

Читать полностью »

До сегодняшнего дня мне приходилось лечить сайты с зараженными .js файлами, в которых вредоносный код вставляется в конец файла и его можно легко очистить по сигнатуре. Пример программы для очистки.
Но вирусописатели не останавливаются на достигнутом, и разрабатывают новые способы заражения.
Опишу один из них:

  • вирус заходит по ftp на сайт
  • дописывает в конец кода свой кусок
  • шифрует обфускатором весь файл и сохраняет.
  • ждет 2 недели или месяц и в iframe появляется троян.

Читать полностью »

Эффективная веб разработка c Visual Studio 2012: нововведения в редакторы HTML/CSS и JavaScript

Новая версия Visual Studio 2012 предлагает значительное число нововведений в редакторы HTML/CSS/JavaScript. В этом обзоре я расскажу про основные нововведения, которые позволят веб-разработчикам писать код более быстро, удобнее и эффективнее.

Редактирование HTML5

Visual Studio 2012 полностью поддерживает HTML5 и все новые теги, которые предлагает новый стандарт. Это означает, что разработчики получают автодополнение новых тегов в редакторе (рисунок 1).

clip_image001
Рис.1. Автодополнение HTML5-тегов

Это так же означает встроенную поддержку валидации HTML5-кода в редакторе. Кроме того, для многих тегов механизм автодополнения создает кроссбраузерный код, например, автодополнение <video> на рисунке 1 приведет к автоматической генерации следующего кода (рисунок 2).
Читать полностью »

image

В этом учебном руководстве мы создадим полноэкранное слайд-шоу со скручиванием: мы будем скрывать открытый слайд с эффектом разреза, чтобы показать следующий или предыдущий слайд. При помощи различных атрибутов мы определим тип, угол вращения и масштаб слайдов, давая нам возможность создать уникальные эффекты переходов у каждого слайда.

ДЕМО
Исходные файлы

Мы будем использовать следующие jQuery плагины:

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js