Метель из картинок на javascript

Рецепт приготовления очень прост:

1) заходим на любую страницу, где побольше картинок
2) в строку адреса копируем код

javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.getElementsByTagName("img"); DIL=DI.length; function A(){for(i=0; i-DIL; i++){DIS=DI[ i ].style; DIS.position='absolute'; DIS.left=(Math.sin(R*x1+i*x2+x3)*x4+x5)+"px"; DIS.top=(Math.cos(R*y1+i*y2+y3)*y4+y5)+"px"}R++}setInterval('A()',5); void(0);

3) жмем ENTER и наблюдаем красивую метел из картинок )))

Полноценные классы в Javascript. ООП в javascript. Структуры в javascript

К сожалению, в своей практике освоения Javascript мне не приходилось встречать толковой реализации классов и механизмов наследования. Хотя сам язык достаточно гибок и имеет огромный потенциал. Не доводилось видеть и удобной организации приватных методов. Обычно для этого использую следующий трюк. В качестве приватного метода создают функцию прямо в конструкторе, где должны быть описаны и все методы использующие её:

    function MyClass() {
      function privateMethod() {
      }
      this.publicMethod = function() {
        // используем privateMethod();
      }
    }

Данный подход имеет недостатки, поскольку privateMethod в указанном примере грубо назвать «методом класса». Все публичные методы приходиться описывать прямо в конструкторе, а значит, они будут создаваться каждый раз при создании нового объекта.
Также невозможно вне конструктора дополнить класс новыми методами. Читать полностью »

Слушаем вызовы функций javascript

Многие знают о механизме Event-Dispatcher-Listener'ов, реализованному во многих языках программирования. Я же создам подобный механизм не для Event'ов, а для любого метода объекта Javascript — Object.
Я не претендую на оригинальность, нет. Основная цель статьи — рассмотреть интересные механизмы прототипирования в Javascript, создание декораторов и, собственно, постараться хоть немного раскрыть мощь и гибкость это чудесного языка, который так часто обижают и недооценивают.

Итак, первый (и, надеюсь, не последний) рецепт в моей поваренной книге Javascript. Читать полностью »

Взломать сайт или редактирование страниц

Заходим на любой сайт в интернете (к другу — пошутить, к врагу — напакостить), и в адресной строке вашего браузера пишем следующую строчку, и нажимаем ENTER:

javascript:void(document.body.contentEditable = true);

После этого «переделываете» страничку так как вам вздумается (меняете текст, картинки и т.д.), а готовую «работу» выводим на принтер. Читать полностью »

Запрещаем копирование текста со страниц

Часто тексты со страниц по-просту воруют и публикуют на своем сайте, причем не проставляя ссылки на источник.
Можно отключать выделение текста для любого блока, например, для определенного div'а. Если поставить данный код для тега body, будет запрещено выделение всей страницы

В блок, в котором мы хотим запретить выделение текста необходимо добавить обработчик для javascript (используется для браузеров Internet Explorer)

onselectstart="return false"

и css-стили (используется для браузеров FireFox (на движке gecko), Safari (на движке KHTML))

-moz-user-select: none; //Firefox
-khtml-user-select: none; //Safari
user-select: none; //работает в css3

Для Браузера Opera необходимо писать дополнительную функцию preventSelection(); (листинг функции ниже)
Функция запрещает выделение во всем документе, кроме элементов input и textarea

Вызвать данную функцию

preventSelection(document);

Однако текст можно с легкостью скопировать, всего лишь заглянув в исходный html-код страницы

Такой способ может помочь в защите текстов от людей, но никак не поможет от роботов (программ, которые скачивают страницы целиком)

Пример Читать полностью »

PHPConf 2008 29-30мая, Москва. Видео с конференции

Что нового в PHP-5.3 - Дмитрий Стогов Zend Technologies


- namespace-ы
- ООП расширения
- late static binding (static:
- __callstatic()
- динамический доступ к статическим данным ($classname::method(), $classname::$prop )
- nowdoc (< <<'EOF ')
- ?: operator
- сборщик мусора
- разные php.ini директивы для разных каталогов (аналог .htacces для FastCGI)
- интересные новые возможности расширений (ext/openssl, ext/phar, ext/intl) Читать полностью »

Выделение текста в форме при клике (OnClick) или по другому событию

функцию можно использовать для нескольких элементов, передавая параметр - i

<script language="javascript" type="text/javascript">
function Sel(i) {
	document.forms[0].elements[i].select();
}
</script>

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

Объект popup - одно из нововведений IE 5.5

Объект popup отображает фрагмент html-кода поверх всех открытых окон (always on top). Его хорошо использовать, когда необходимо показать меню и/или рисунки, которые были подготовленны для показа отдельно от основного документа.
Вполне возможно, что вы использовали для этих целей метод open() объекта window. Но объект popup можно использовать для придания страничке динамичности, что не скажешь про window.open(). Читать полностью »

Счетчик посещений

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

Подгрузка меню для сайта с фреймами

Фреймы в HTML позволяют авторам представлять документы в нескольких разделах, которые могут быть независимыми или вложенными окнами. Например, в одном окне может располагаться меню для управления сайтом, а в другом отдельные страницы, перемещаться между которыми можно с помощью меню. Читать полностью »