программирование

Opera 10.x и border-radius

Вадим Макеев упомянул в «Ярушке» интересное о новых версиях «Оперы»:

Opera будет поддерживать border-radius уже в 10.x версии, очень вероятно, что где-то в начале будущего года (…)

Я уже давно тестирую версию, которая работает с border-radius, border-image, box-shadow, transform… и ещё десятком вещей из черновика CSS 3, что интересно — без префиксов. Это всё будет в движке Presto 2.4, который сейчас встроен во внутренние беты с индексом 10.x.

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

На эту тему я уже, кстати, давал цитату.

4 комментария

Уязвимость WackoWiki

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

6 комментариев

Repcached — memcached с репликацией

Понадобилось реплицировать memcached, балансер ставить — слишком дорого для нашей задачи, в поиске нашёлся repcached, будем пробовать. Это патч для memcached 1.2.x. Асинхронная репликация multi master.

3 комментария

GIF plain text extension

В формате GIF89 есть забавное поле — «plain text extension», заброшенное и никем не используемое. Настолько заброшенное, что для него делали специальное соответствующее поле в формате PNG, для совместимости, но потом объявили его «deprecated».

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

Насилу нашёл редактор, который умеет создавать GIF с таким полем, но, увы, ни один из браузеров не умеет правильно показывать содержимое такого GIF. Некоторые браузеры не умеют показывать его даже неправильно — выводят пиктограмму ошибочно загруженной картинки (например, IE, Opera 8.xx/9.xx, Safari и другие).

Понятно, что extension совершенно бесполезный, но всё-таки мне было любопытно на его посмотреть.

P.S. Для тестирования браузеров я использовал сервис BrowserShots.

Добавлено 6 октября 2009 14:40: почти все браузеры показывают изображение в котором есть ещё хоть что-то, кроме такого текста. Если же изображение содержит только текст, то многие браузеры (как сказано выше) покажут ошибку загрузки.

7 комментариев

HTML5: события offline и online

На сайте JavaScript.ru появилась статья о новых событиях в JavaScript — offline и online (реализованы в Firefox 3.5 и Internet Explorer 8.0). Цитирую выводы:

Эти события никак не связаны с подключением к сети интернет и к сайту.

Они триггерятся при переходе по клику пользователя в автономный режим и обратно.

Они также триггерятся, когда отключаются все сетевые адаптеры, или подключается хотя бы один. При этом не важно, ведет ли он в реальный интернет.

Firefox глючит, в отличие от IE

6 комментариев

JavaScript split

Азат Разетдинов подкинул хорошую ссылку на сайте XRegExp по поводу особенностей реализации метода split в JS-движках различных браузеров. Больше всего особенностей у IE, но и остальные браузеры грешны.

4 комментария

Загадки JavaScript

Что-то Internet Explorer меня нехорошо удивляет в последнее время. Кто-нибудь, не запуская, может сказать что получится, если выполнить в IE следующий JavaScript:

alert('a###a'.split(/#/))
alert('a###a'.split('#'))

Самое главное, мне непонятно — зачем это так сделано?

10 комментариев

Chrome Internet Explorer

Ребята из Google выпустили плагин Google Chrome Frame для Internet Explorer (поддерживаются IE6+), который позволяет переключать движок этого браузера со стандартного на WebKit. Если плагин установлен, то следующая конструкция в HTML-коде сайта переключит его отображение в режим WebKit:

<meta http-equiv="X-UA-Compatible" content="chrome=1">

Google обо всём побеспокоился, можно даже показать пользователю окно с просьбой установить Google Chrome Frame, если он ещё не установлен.

P.S. Говорил же Стив Балмер, что в Internet Explorer возможно будет WebKit! Никак пророчествовал? :)

P.P.S. Строка user-agent браузера меняется, даже если Chrome не включен: появляется слово «chromeframe».

P.P.P.S. Google Chrome Frame добавляет специальную схему «cf», например, этот сайт можно открыть плагином, если написать следующий адрес: «cf://bolknote.ru».

3 комментария

IE и HTML5

Ребята из Microsoft пообещали реализовать теги VIDEO и AUDIO в своём браузере. Интересно, что Microsoft просит W3C задуматься о расширении синтаксиса тегов, чтобы, например, можно было предоставить пользователю возможность просматривать (прослушивать) контент не только в разных кодеках, но и с разным качеством и/или на разных языках (!).

18 комментариев

border-radius и «Опера»

Although Opera 10 has just been released, the Opera Core team has not been sitting idly while the Desktop team were at work. The next version of the rendering engine; Opera Presto 2.3 is already finished (including the likes of border-radius, box-shadow (including the spread value and inset keyword), and friends, and Opera Presto 2.4 is under heavy development. It already is and will be an exciting time for CSS 3.

В следующей «Опере» будет border-radius! Но лучше бы они дробные проценты сделали.

11 комментариев

nginx, IE и gzip

Моё исследование (проведённое для книги, которую мы пишем) по проблемам реализации сжатия в браузерах принесло счастье пользователям nginx:

0.8.11 Изменение: теперь директива «gzip_disable msie6» не запрещает сжатие для MSIE 6.0 SV1.

Списался с Игорем Сысоевым и с версии 0.8.11 nginx не отключает gzip-сжатие для MSIE 6.0, у которого в строке user-agent присутствует SV1. SV1 (Security Version 1) означает, что установлен Service Pack 2 для IE 6, в котором проблем с gzip нет.

Оставить комментарий

FTPd.js работает под Opera 10.00 RC

Случайно обнаружил, что FTP-сервер, который я восемь лет писал на JavaScript (с использованием LiveConnect к Java) работает, оказывается под Opera 10 RC, которая вчера вышла. Интересно, что запрос к PrivilegeManager «Опера» понимает, но обрабатывает как-то неправильно.

LiveConnect — это придуманный фирмой Netscape для их браузера Netscape 4.xx (удобный) способ скрещивания различных плагинов и JavaScript, в частности, можно вызывать из JavaScript Java и наоборот. Насколько я понимаю, после смерти браузера Netscape, наследниками технологии LiveConnect стали FireFox (из-за того, видимо, что Netscape принимала участие в разработке Gecko) и Opera, по всей видимости, просто из-за того, что она поддерживает бинарные плагины Gecko.

А вот под новыми браузерами FireFox мой сервер не работает — не хватает полномочий. Мне, если честно, не хочется разбираться что там ещё надо запрашивать.

11 комментариев

Yandex.ru.

Две ссылки: http://yandex.ru и http://yandex.ru. Я не знал, что так можно. Век живи, век учись. Кстати, FireFox 3.5 загружает всё правильно, но конечную точку отрубает, поэтому после перезагрузки страница меняется.

26 комментариев

Такой молодой Python

Девятнадцать лет языку, а модуля для него, который поддерживал бы сочетание SOAP+NTLM+HTTPS+WSDL-от-Excahnge 2007 так и нет. Ни одна из SOAP библиотек для Python не умеет это всё сразу. И большинство из них даже не смогли разобрать (полностью валидный) WSDL SOAP Exchange 2007!

24 комментария

Moikrug и hcard

Пару недель назад при помощи Сергея Белова удалось убедить команду «Моего круга» сделать в профиле пользователя hCard. Теперь у меня на сайте пользователи, авторизующиеся через «Мой круг», отображаются с юзерпиками и именем с фамилией.

К сожалению, пришлось отказаться от стороннего сервиса, который разбирает hCard (он не работает с кодировками отличными от UTF-8). Выкачал себе их библиотеку и чуть-чуть допилил (допилил не идеально и знаю где могут быть проблемы, но буду что-то трогать только если действительно с таким сочетанием столкнусь).

P.S. Хочу сказать очередное спасибо моему хостеру — фирме «Докер», когда библиотеке для парсинга hCard понадобился модуль tidy, они его очень быстро поставили.

35 комментариев

Недокументированный PHP

Решил собрать все недокументированные конструкции и возможности языка PHP, которые я знаю, в одном месте.

Переменные с числовым именем

$var = '123';
$$var = 'test';

var_dump(get_defined_vars());

Команда list для строк (работает не во всех версиях PHP)

list($a, $b) = 'HI';

echo $a, $b;

Доступ к приватным свойствам через массив

class smth
{
     private $prop = 'test';
}

$obj = new smth();
$arr = (array) $obj;
echo $arr["\0smth\0prop"];

arr[] в аргументах функции

function add(&$var)
{
    $var = 'element';
}

$arr = array();
add($arr[]);

var_dump($arr);

Может вы что-то ещё знаете?

13 комментариев

Safari: как из текстового поля сделать поле для ввода пароля

Как говорится «хозяйке на заметку».

У WebKit (браузер Safari) есть CSS-свойство «-webkit-text-security», которое позволяет установить на что заменять введённые в текстовое поле символы. Может принимать следующие значения: «none», «disk», «circle» и «square». Переводить не надо, думаю.

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

4 комментария

Microsoft шутит?

В принципе, если Apple за уши притягивает результаты тестирования своего браузера и искажает факты, то почему бы Microsoft не заняться тем же? Но я всё равно шокирован:

Myth #4: Internet Explorer doesn’t play well with Web standards.

The Real Deal: Internet Explorer 8 passes more of the World Wide Web Consortium’s test cases than any other browser

Такие дела. Сравнивается с Mozilla Firefox и Google Chrome (Opera традиционно игнорируется в буржуинском сегменте, Safari нет по непонятным мне причинам).

18 комментариев

Opera 10.00 прикидывается Opera 9.80

It appears that a considerable amount of browser sniffing scripts are not quite ready for this change to double digits, as they detect only the first digit of the user agent string: in such a scenario, Opera 10 is interpreted as Opera 1. This results in sites mistakenly identifying Opera 10 as an unsupported browser, thereby breaking server, as well as client-side scripts.

С Dev.Opera. Краткий перевод: значительная часть скриптов, определяющих версию браузера, не расчитана на версию в две цифры (OMG!), поэтому «Opera/10.00» превращается у них в «Opera/1»: они просто забирают первую цифру.

10 комментариев

Chromium 3: тег VIDEO

Вчера вышел очередной билд dev-версии браузера Chromium 3.0. Насколько я понял, это первый билд, который показали народу. Скорость с которой Google клепает мажорные версии поражает.

А более меня поражает чем так полюбился разработчикам тег VIDEO. Из всего стандарта, кажется, это второе (первое — CANVAS), что стремятся реализовать в браузере. Opera и Safari реализовали, в FireFox 3.5 этот тег тоже уже есть. И вот теперь есть Chromium с поддержкой VIDEO. Я удивился, когда узнал, что IE8 вышел без него (тем более, что аналогичный тег там уже есть — IMG, он умеет проигрывать видео).

Правда по форматам видео полный разброд (вот что значит недописанный стандарт!): Opera и FireFox выбрали Theora, Safari — QuickTime, а Chromium — H.264.

13 комментариев

← 1 52 53 54 55 56 67 →