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

До сегодняшнего дня мне приходилось лечить сайты с зараженными .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 плагины:

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

HTML5 спецификация наполняется и медленно начинают появляться API, позволяющие получать информацию об устройстве, на котором запущено приложение. Одиим из последних является Battery Status API. Как вы уже догадались, API позволяет получить информацию о батареи используя javascript. Так что теперь у вас есть возможность отключиться тяжелую анимацию на вашей странице, предложить пользователю сохранить данные или самому активно ее сохранять в локальное хранилище. Рабочий пример вы можете найти здесь. Следует заметить, что свойство «Battery time left», было недоступно, когда я открыл страницу. Но оно обновилось через пару минут.

Я тестировал это API с последних бета-версий Mozilla и оно пока не работает на Mac (но работает на iOS, Android и Windows). Так же мне не удалось получить положительный результат статуса зарядки, зато время разрядки и уровень батареи работали корректно. В этом мальньком примере мы просто отобразим информацию из API на простенькой странице, как эта (скрин из моей таблетки):

HTML5: Доступ к батареи через javascript

В этой статье мы рассмотрим:

  • Использование Battery API
  • Создание полей, для отображения информации из API
  • Создание картинки для отображение статуса батареи
  • Использование eventListener для обновления информации

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

HTML5 спецификация наполняется и медленно начинают появляться API, позволяющие получать информацию об устройстве, на котором запущено приложение. Одиим из последних является Battery Status API. Как вы уже догадались, API позволяет получить информацию о батареи используя javascript. Так что теперь у вас есть возможность отключиться тяжелую анимацию на вашей странице, предложить пользователю сохранить данные или самому активно ее сохранять в локальное хранилище. Рабочий пример вы можете найти здесь. Следует заметить, что свойство «Battery time left», было недоступно, когда я открыл страницу. Но оно обновилось через пару минут.

Я тестировал это API с последних бета-версий Mozilla и оно пока не работает на Mac (но работает на iOS, Android и Windows). Так же мне не удалось получить положительный результат статуса зарядки, зато время разрядки и уровень батареи работали корректно. В этом маленьком примере мы просто отобразим информацию из API на простенькой странице, как эта (скрин из моей таблетки):

HTML5: Доступ к батарее через javascript

В этой статье мы рассмотрим:

  • Использование Battery API
  • Создание полей, для отображения информации из API
  • Создание картинки для отображение статуса батареи
  • Использование eventListener для обновления информации

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

Хочу представить вашему вниманию библиотеку для удобной работы с Local и Session Storage. Она появилась, как побочный продукт работы над проектом и содержит несколько довольно удобных функций. Библиотека поддерживает все современные браузеры, а именно:

  • Internet Explorer 8+
  • Mozilla Firefox 3.5+
  • Google Chrome 4+
  • Safari 4+
  • Opera 10.5+

Помимо традиционных — set/get/inc/dec, есть набор удобных «вкусностей»:

  • inc работает со строками
  • extend для объектов
  • много методов для работы с массивами
    • обычные append/prepend/takeLast/takeFirst/getLast/getFirst
    • с проверкой уникальности — .appendUnique/.prependUnique
    • во все append/prepend методы можно передавать лимит — удобно для организации MRU списков
  • calls chaining — я от него в восторге :)

Если заинтересовал — прошу под кат за примерами. Мне кажется они достаточно хорошо показывают возможности библиотеки.

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

Доброго времени, дорогие читатели!
Хотелось бы поделиться небольшим кусочком кода, который позволяет подгружать файлы JavaScript динамически.
Читать полностью »

Зачастую бывает полезно добавить какую-нибудь дополнительную логику в код, которая собирает данные по ходу работы приложения, например подсчет количества вызовов, или обработка ошибок. Но портить существующий компактно написанный код (если конечно у вас есть такое счастье) не очень-то хочется. Решение в виде приемов АОП существует уже давно, и широко применятся. На платформах .NET и Java многие АОП фреймворки ориентируются на применение атрибутов к методам и классам. Выглядит код почти неизмененным, а в распоряжении оказывается достаточно мощный механизм расширения функциональности.

В JavaScript таких фреймворков не так много, и те, которые я успел найти, при расширении функций походили на обыкновенную подписку на события. В общем, не совсем понравился синтаксис, захотелось чего-нибудь простого, и более приближенного к «высоким материям» .NET и Java. Читать полностью »

Считаете ли вы тач-интерфейсы удобными? Я думаю, что считаете. Ведь это, и правда удобно – общаться с интерфейсом на “ты”. Зачем нам нужен посредник в нашем общении? Зачем все усложнять?

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

Суть упрощения заключается в том, что пользователь, находясь на странице сайта, может Читать полностью »

Прошло немало времени с тех пор, как замечательный веб-сервис Grooveshark — онлайн-радио, проигрыватель и поисковик музыки — перешел с Flash-интерфейса на HTML5. Как и прежде, сервис сопровождается рекламнымы баннерами на четверть экрана, и часть функций проигрывателя была доступна только платным подписчикам.

Как постоянному его пользователю и как веб-разработчику, склонному к реверс-инжинирингу, мне стало интересно, насколько удастся «открыть» этот новый веб-интерфейс.
Читать полностью »


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