Последний месяц просто не дает остановится и выдохнуть, темп жуткий )) Рабочии командировки с начальством- на работе мне сочувствовали "Вот, с шефом в командировку, бедненькая", я тоже побаивалась. Но когда мой шеф и наш ведущий программер в жизни оказались "своими в доску"- была крайне удивлена. В итоге по приезде не стала развеевать миф о шефе и сказала, что была не поездка, а ад. Хотя ад был только в городе прибывания и только по вине самого города... сумасшедший город!!! Потом конечно куча рабочих планов, которые пришлось выполнять жертвуя не рабочим временем- но результат- сданный вовремя план работы, этого вполне заслужил. Теперь полность довольная собой, потратившая треть от только что полученной ЗП сижу перед компом, потягиваю пиво, и впервые за время после отпуска , и что странно в пятницу, чувствую что я отдохнула... каййййфффф.. )))
В магазине "Смарткауф" салат, известный как "селедка под шубой" продается как "салат винегрет рыбный". Рыбный винегрет...пиздец...
Еще у меня новая сумка.
Несколько интересных "открытий" было совершено в борьбе за кроссбраузерность клиентской части нового чата. Два дня жесткого секса с кодом и гуглом выявили мои глубокие чувства к ослобраузерам ИЕ. В двух словах:
Задача: надо создать группу радиобатонов и поместить их в контейнер в документе.
Решение: тривиальное
for (var i=0; i<5; i++){
var rb = document.createElement("input");
rb.type = "radio";
rb.name = "group1";
holder.appendChild(rb);
}
всё хорошо и красиво, все плачут от счастья... пока в голову не приходит мысль на наши радиобатоны покликать. В ИЕах не кликается. Ваще.
Перекапывается код на предмет неточностей, несоответствия стандартам - всё вроде правильно. Поиски в гугле выявляют, что наш ненаглядный осёл, оказывается, не может некоторым динамически создаваемым элементам задавать name. Многие даже советуют забивать хер на DOM и херачить всё в innerHTML.
Более глубокие поиски дают (как обычно в нашем деле) некий грязный хак. Общая схема такова: ловим эксепшн вокруг кода с ИЕ-синтаксисом, в обработчике пишем код по стандартам для всех остальных браузеров:
...
try {
result = document.createElement("<input type='radio' name='group1'>");
} catch (e) {
result = document.createElement("input");
result.type = "radio";
result.name = "group1";
}
...
Ну из других мелких сюрпризов обнаружилось так же, что в Opera, оказывается, у document есть свойство all, что делает не логичным определение ослобраузеров по if (document.all) {/* some IE code */}.
Так же, хоть многие и утверждали, что в стандартах нет обработчиков события onload для img, обработчики всё-таки есть:
var img = new Image();
img.onload = OnLoadHandler;
img.src = "/path/to/image.jpg";
function OnLoadHandler(e) {
/* Image loaded */
}
Тут тоже есть интересные особенности:
1. задавать обработчик события необходимо раньше свойства src, т.к. в противном случае он не сработает, если картинка найдена в кеше (не уверен, возможно только для нашего любимого ИЕ);
2. не-ИЕ-браузеры передают в обработчик события параметр e (собственно наше событие), в котором есть ссылка на объект, породивший событие - e.currentTarget. Для ослобраузера сие не верно и надо брать window.event. В случае с картинками - в ИЕ оба параметры, увы, пусты, поэтому, чтобы определить, какая именно из картинок догрузилась, можно использовать задание ссылки на обработчик вида:
img.onload = function() {OnLoadHandler(this);}
Тогда в обработчик нам придёт сама картинка.
Ещё какие-то были интересности, но я уже не помню. Вспомню - напишу %)
Сразу хочу сказать ОГРОМНОЕ СПАСИБО
Румате(он же Don Rumata),
Спирту(он же С2Н5ОН),
Психу(он же PSI)
и неизменному координатору Candy.
И так все начиналось очень мирно и ничего не предвещало приключений на собстенную Ж, просто две девицы (собственно я и Корица) подумали:"а почему бы нам не покататься на великах?" Ну естественно, сказано-делано. Ну а фиг ли??)) Один велик был взят на прокат, второй был свой, и отправились в путь. Легких путей мы не ищем, поэтому отправились в лес. Преодолевая подъем в гору, периодически велосибел просто толкая, думали:"когда же начнется спуск?" И вот он спуск, вернее сначала шла очень милая дорожка с небольшим уклоном практически сухая, поэтому ехать было легко и приятно. Потом эта милая дорожка резко пошла вниз...эмоции были примерно такие:"О спуск, клево, клево, АААА!!!!!! БЛЯЯЯЯ!!!!"
Надо сказать, что в том месте, где на спуске начался отрезок с названием "АААА!!! БЛЯЯЯ!!!" было очень грязно,и мокро, соответственно пролетев его на огромной скорости, были поуши в грязи. Кстати на этом же спуске выяснили, что на велике Корицы фактически не работают тормоза.. Вот пережив еще один спуск, мы оказались около родника. Умылись, постирались, напились и отправились дальше.
И вот тут-то начался пиздец. Как только мы отъехали от родника метров на 300, начался ливень с громом и молнией, все как полагается. Каким-то чудом свернули к какому-то лагерю, возле которого стояла песочница с крышей, собственно дождь решили переждать там. Сухого на нас ничего не было, поэтому не долго думая, сняли промокшие майки, одели единственную сухую вещь, которая была с собой-купальники. А теперь представьте картину, стоят две полуголые девушки под проливным дождем в песочнице и делают зарядку,тупо чтоб не мерзнуть. Когда стало понятно,что дождь на долго, решили таки сунуться в лагерь. Местная администрация объявила нас идиотками, однако дала полотенца и куртки и напоила чаем.Впринципе заметив, что дождь на долго, начали слать сигналы SOS, куда только можно. Оказалось можно только через аську, потому что звонки не проходили, и смс не отправлялись.
На сигнал откликнулся Румата, который нашел машину, чтоб за нами приехать. Когда дождь стих, мы решили двинуться на встречу спасателям (спасателями в последствии оказались Румата, Псих и Спирт), доехав до признаков цивиллизации, решили остановиться и подождать(где-то межу 9-ой и 8-ой дачной), просто потому что ехать по дороге,где ездют большие железные машины, на велике без тормозов было как-то страшно.Объяснили где мы находимся, самое точное описание получила Candy, которая и сказала машинке куда точно ехать. Не знаю сколько мы ждали, но уверенна, никогда с такой надеждой не смотрели на мимо проезжающие машины. Пиезду спасателей были нисказанно рады, потому что наконец то попали в тепло.
Ах, да, Нам же еще предстояло вернуть велик. Велик вернули, но мужик,который работает в прокате, был в шоке, что можно было так ездить, не испугались по этим склонам без шлемов и вообще чего-либо защитного. Когда вышли на улицу и он увидел дозорную машину, сказал :"а так вы еще и в дозор играете)" Т.е. диагноз поставлен : психи.
Домой мы добрались в первом часу ночи уставши,голодные, но с кучей впечатлений.)))))))
- Камень мокрый: дождь
- Камень сухой: дождя нет
- Отбрасывает тень: солнечно
- Белый сверху: снег
- Камень не видно: туман
- Раскачивается: ветренно
- Прыгает вверх-вниз: землетрясение
- Камень пропал: торнадо
Говорят, что как бы ни ругали "пассивный" отдых, "шведские столы" в 6 подходов, бесплатный алкоголь в баре и лежаковый режим, хотя бы один раз в жизни это необходимо испытать каждому...
Взвесив романтику Питерских белых ночей в сравнении с поездкой в новую страну (понятно, вобщем, какую), подсчитав бабки и посоветовавшись с нашим любимым тур-оператором Наташей мы решили, что хотим в Турцию на ультра олл. Заранее мы не подсуетились, поэтому за 2 недели до начала отпуска начали рыскать по интернету в поисках удовлетворившего бы нас предложения и куда ещё остались путёвки. Оределяющими критериями были наличие бесплатных теннисных кортов и сауны. Судя по тому, что вы читаете этот пост, наши поиски увенчались успехом. Собрали пожитки, прыгнули в поезд и уже вечером следующего дня были в (Kaya Side 5*). Успели аккурат к окончанию ужина ;)
Товарищ попросил прислать ему свежий квип (в шахматы играть чтоб), а почта у него не пропускает файлы >5 метров, а архив весит 10. "Разбил" раром. Вот что получилось с первого раза...