Cайт веб-разработчика, программиста Ruby on Rails ESV Corp. Екатеринбург, Москва, Санкт-Петербург, Первоуральск

Админка на Ruby on Rails

Глюки Google Chrome

Глюк - неправильная работа чего-либо, будь то человеческое мышление или сбой в работе аппаратуры, компьютерной программы. Распространенное среди пользователей определение непредсказуемого поведения компьютерных программ.
glitch  - авария, внезапный отказ, неожиданная поломка (альтернативная версия происхождения слова).
по-другому - баг, ошибка. (bug - жучёк).
синонимы: проблемы, глючит, неправильно работает, непредсказуемое поведение, некорректная обработка

Google Chrome (гугл хром)

Казалось бы, современный браузер, но... видимо, всех популярность губит - хороший тому пример Internet Explorer, который стал настоящим проклятием для верстальщиков (особенно IE6). Глюков и "особенностей" уже немного нарыл. Похоже на то, что придется "допиливать костыли" специально под этот "славный" хромой браузер, как в свое время делали специальные вставочки для IE (Internet Explorer). Да и чего таить, не такой он популярный, как любят рисовать картинки официальные. По крайней мере по своей статистике посещений я вижу такую картину, что количество посетителей с FireFox в 3 (!) раза превышает количество посетителей с Google Chrome. Но меня, как разработчика, более интересует другое - правильная отработка механизмов и функций. Проверяю свои разработки на 4-х браузерах - IE9, Chrome, Opera, FireFox, как правило, все работают как надо, но по крайней мере 3 отрабатывают как ожидается, хоть в IE9 и не отабражаются многие CSS3-эффекты.

Так вот, мои наблюдения:

  1. Неправильное и непонятное определение высоты блока (div) с помощью jQuery outerHeight. Открываем страницу - одна высота, перезагружаем ту же страницу - другое значение - меньшее, при чем разница совсем непонятна. Такое поведение наблюдается в редких случаях, я так и не смог определить какую-то зависимость от содержимого блока, но тем не менее такое происходит.
  2. Собственный Flash-player в Chrome - тоже та еще прелесть. Если на странице присутствует Flash-анимация, то jQuery animation просто не работает. Также на официальном блоге Google Chrome читал отзывы пользователей о том, что этот самый Flash-player от Google глючит при отображении видео - то звук пропадает, то изображение рывками.
  3. Неправильная отработка jQuery position(). Блок описан как <div style="width: 1000px; margin: 0 auto;">, т.е. имеет конкретную ширину и располагается по центру. Все браузеры определяют position().left корректно, и только у Chrome это значение равно 0.5 - откуда чего берет - не понятно. Специально для Chrome пришлось сделать обходной маневр - вычислять ширину окна, вычитать ширину блока и делить пополам.
  4. В jQuery Slider Widget ползунки слайдера - это <a href="#">. Только Chrome и IE9 (другие ie не проверял) отображают рамку при выборе ползунка и его перемещении. 'border: none' - не помогает. Опять же самостоятельное решение от гугл, что ссылка должна обязательно обозначаться рамкой.
    Подсказал посетитель сайта, что это не border, а outline - это работает, да, но опять же, надо принудительно указывать, чтобы рамка не отображалась.
  5. Непонятно, почему ушло изображение влево за край блока в заголовке страницы. На главной странице хромой (ну иначе уже не назовешь - инвалид, ей Богу, какой-то) отображает обрезанное слева изображение:

    на внутренних - все нормально:

    остальные браузеры - FireFox, Opera, IE9 - все без исключения отображают нормально.
    Если кто-то думает, что дело в коде, вовсе нет - все однотипно на всех страницах:
    <div class="header">
      <a class="logo" href="/"></a>
      <div class="info"> ... </div>
      <div class="menu_wrap"> ... </div>
    </div>
    
        div.header {
          height: 120px;
          margin: 0 auto;
          width: 1000px;
        }
    
        a.logo {
          background: url("logo.png") no-repeat left top transparent;
          display: block;
          height: 83px;
          left: 0;
          position: absolute;
          top: 25px;
          width: 220px;
        }
        

 

В общем, "прелесть" та еще!... Буду пополнять этот список со временем, так как подозреваю, что этот список далеко не полный.

По-моему ребята из Opera сильно погорячились, решив, вскинув лапки кверху и больше не бороться на рынке за правильность своих решений, перейти на WebKit. :-( Уж эти-то 2 браузера - Opera и FireFox - всегда отличаются корректным отображением, ожидаемым поведением.

И, кстати... реклама гугл хром: "Надежный. Быстрый. Умный. Установите мобильный браузер, надежно прикрывающий вашу спину."
Вот фраза "надежно прикрывающий вашу спину" меня вообще просто убила :-))))) или это тонкости перевода? Не хотел бы я, чтобы мою спину прикрывало то, в чем то блоки (например, защиты спины) не того размера, то съезжают вдруг (оголяя части тела). ;-)