Posts Tagged ‘Javascript’

Firefox window.onBlur

Четверг, Декабрь 25th, 2008

Странное поведение обнаружилось у Firefox. Если на странице повесить что-то типа:

window.onblur = function () {
    console.log( 'im blurred' );
}


, а затем открыть это окно среди других вкладок следующим образом:

(--tab1--)(--tab2--)(--our_tab--)(--tab4--)(--tab5--)(--tab6--)

, то событие onBlur будет вызываться только при переключении с our_tab на tab2, tab4 и tab5, а так же на внешние окна. При переключении же на остальные вкладки, событие срабатывать не будет


Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008121622 Ubuntu/8.10 (intrepid) Firefox/3.0.5

P.S. Для FF багу вылечил, повесив события на document вместо window. Сейчас поглядим что остальные браузеры скажут…

P.P.S. Как ни странно, но “браузер” Опера адекватно отреагировал на подобное положение вещей, чего нельзя сказать о Сафари и Хроме…

Подгрузка элементов как в Google Reader

Вторник, Сентябрь 16th, 2008

Мне очень понравилось, когда я впервые увидел, как в GoogleReader (GR) подгружались новые записи, при скролле страницы, и вот недавно в рамках проекта, над которым работаю, возникла необходимость реализовать подобное. Что ж, если вам идея GR понравилась так же как и мне, то вооружайтесь mootools и под катом смотрите решение. Кстати хочу заметить что из mootools исользовано очень мало компонент, так что портировать под что угодно будет не так и тяжело…
(more…)

Greasemonkey и Хабр

Среда, Июль 23rd, 2008

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

Интерфейс отображающий суть

Вторник, Июль 15th, 2008

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

И вот пришло время и я уделил некоторое время на создание более “правильного” интерфейса добавления тегов. Заранее учел два типа пользователей:
- те кто использует Firefox
- те у кого нет JavaScript’a

Базовый функционал очень прост: (more…)

некоторые вкусности JavaScript

Четверг, Январь 31st, 2008

Начиная пользоваться Javascript, каждый разработчик учиться делать alert() и setTimeout(), а что делает с Javascript “продвинутый” разработчик? Постараемся рассмотреть аспекты, которые позволяют делать код гибче и удобочитаемее… (more…)

идея для взаимодействия JS и DOM объектов

Пятница, Январь 11th, 2008

углабряясь в разработку Online MySQL DB Designer‘а, возникла проблема в обратном обращении DOM объектов к JS объектам, которые являются движущей моделью редактора. Собственно сама проблема выражается в том, что созданная из JS объекта DOM таблица (например) теряет любую связь со своим пораждающим объектом (JS).

(more…)

чтение из файла на javascript

Среда, Октябрь 17th, 2007

Читать из файла на компьютере пользователя из браузера посредством javascript НЕЛЬЗЯ.

javascript “условности”

Среда, Октябрь 10th, 2007

сегодня столкнулся с задачей такого плана:

у тебя есть набор из трех цифр. каждая цифра может быть 0 или 1. каков оптимальный алгоритм вычисления условия, что из трех цифр только одна является 1, а остальные - 0?

хочу заметить что реализация нужна была на JS и подразумевала проверку трех полей, на заполненность, а конкретно необходимо что бы заполнено было только одно поле из трех (всех).

почему-то в голову не пришел сразу же битовый вариант реализации, который озвучил BeGeMoT:

2, 4, 8
if ( $num % 2 == 0 and $num <= 8 ) {
    true
}

вариант хорош, и на JS портируется нормально, но я выбрал другой, реализация которого меня и порадовала и удивила своим наличием в JS:

if ( ($('pq_89').value.length > 0) +
     ($('pq_90').value.length > 0) +
     ($('pq_56').value.length > 0) == 1) {
    true;
}

да, как и ожидалось, JS сделал конвертацию типов и превратил все true в 1, а затем суммировал их…

немного извратно, зато красиво и интерессно :)

Adobe AIR

Пятница, Июль 27th, 2007

так как наша компания занимается разработкой прикладного ПО, а интерфейсы обычно собираются на JavaScript, а я Javascript знаю, ибо надо, то вот у меня зародилось желание поближе познакомится с Adobe AIR. Штуковина позволяет создавать standalone приложения на базе HTML/JS, по принципу песочницы Java (кто не в курсе - по типу java-environment|java-runtime-mashine), причем с довольно богатыми интерфейсными возможностями (ну а чего ж еще ожидать от создателей Photoshop?). Так что на днях если будет время - обложусь документацией и буду ваять…

заморочки в javascript

Четверг, Июнь 28th, 2007

…в следующий раз надо внимательнее читать мануал. оказывается переменные установленные через var нельзя удалить через delete
пример:

var a = 'test';
delete a;
alert(a); //alerts 'test'
-------------------------
a = 'test';
delete a;
alert(a); //alerts 'undefined'

а еще я не понимаю Лебедевский инклюд в яваскрипте. (more…)