<rmcreative>

RSS

Все заметки с тегом «mystuff»

  1. Русские языковые файлы для CodeIgniter 1.6.3

    7 июля 2008

    Обновлён перевод. Добавлены строки для нового хелпера Number.

    Забираем

    5 комментариев
  2. jQuery, определение браузера

    7 июля 2008

    Заметил, что jQuery.browser.version неверно определяет версию IE. Седьмой считается шестым.

    Ошибка уже в трэкере, но ещё не поправлена:

    http://dev.jquery.com/ticket/1867

    http://dev.jquery.com/ticket/2661

    http://dev.jquery.com/ticket/2413

    user-agent, отдаваемый IE7 сменился с последними обновлениями на:

    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Mozilla/4.0
    (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 1.1.4322; .NET
    CLR 2.0.50727; .NET CLR 3.0.04506.30)
    

    Соответственно регулярка совпала с MSIE 6.0.

    Мораль: user-agent — штука ненадёжная. Лучше проверять наличие объектов, например:

    //IE6
    if (window.external && (typeof window.XMLHttpRequest == "undefined")) {
      //
    }
    8 комментариев
  3. Букмарклет, подгружающий внешний скрипт

    2 июля 2008

    В текущем проекте была задача написания полуавтоматического граббера страниц. Для этого необходимо было делать инъекцию скрипта в текущую страницу. Решил таким букмарклетом:

    <a href="javascript:(function(){var d=document,s;
    s=d.createElement('script');
    if(typeof s!='object')s=d.standardCreateElement('script');
    s.src='http://example.com/js/bookmarklet.js';
    s.type='text/javascript';
    document.getElementsByTagName('head')[0].appendChild(s);})();">Do it!</a>

    В более читаемом виде:

    (function(){
      var d = document, s;
      s = d.createElement('script');
      if(typeof s != 'object'){
        s = d.standardCreateElement('script');
      }
      s.src = 'http://example.com/js/bookmarklet.js';
      s.type = 'text/javascript';
      document.getElementsByTagName('head')[0].appendChild(s);
    })();

    Оттестировано в IE6, IE7, FF2, FF3, Opera 9.2, Opera 9.5, Safari.

    4 комментария
  4. PHP, многомерные массивы

    3 июня 2008

    Всё описанное ниже успешно опровергнуто в комментариях.

    Всё, как и ожидается. В $new_arr будет копия $arr:

    $arr = array(
      'one' => 'val_one',
      'two' => 'val_two'
    );
     
    $new_arr = $arr;

    А вот тут не всё так просто… вместо массива $subarr в $new_arr будет ссылка на него.

    $subarr = array(
     'one_one' => 'val_one_one'
    );
     
    $arr = array(
      'one' => $subarr
    );
     
    $new_arr = $arr;
    10 комментариев
  5. Подключение стиля только для Safari 3

    27 мая 2008

    Иногда, когда макет уже свёрстан, приходится вносить коррективы для некоторых отдельных браузеров. В случае IE очень помогают условные комментарии. В случае Safari обычно используются хаки.

    Но выход есть.

    <head>
      <link type="text/css" media="screen and (-webkit-min-device-pixel-ratio:0)"
      href="/css/safari.css"/>
    </head>

    В итоге получаем чёткое побраузерное разделение кода и валидные HTML и CSS.

    Опробовано на Windows-версии Safari 3.1. Если у кого есть под рукой мак — буду признателен за тестирование.

    8 комментариев
  6. Drupal 5 Thickbox update

    26 мая 2008

    Обновление JS и CSS кода модуля Drupal 5 Thickbox до последней доступной на данный момент версии.

    Исправляет баги IE6 с позиционированием бокса на длинных страницах.

    Требует jQuery Update.

    В основную ветку Drupal 5 включено не будет из-за требуемого jQuery Update.

    Обновляемся.

    Комментировать
  7. Никогда не называйте картинки «banner»

    24 мая 2008

    Страшно популярный Firefox-овский Adblock Plus их благополучно порежет.

    То же относится и ко всем именам, начинающимся с «banner» и многим-многим другим. Если что-то не загружается только в FF — проверяйте Adblock.

    Кстати, с его русским листом паттернов вообще всё не очень хорошо: блочит google analytics намертво.

    9 комментариев
  8. Несколько советов верстальщикам

    22 мая 2008

    30 комментариев
  9. Русские языковые файлы для CodeIgniter 1.6.2

    15 мая 2008

    Основан на русском переводе для CodeIgniter 1.51, выполненном Шульга Алексеем. Том самом, который можно найти в русскоязычной группе Google.

    Допереведны новые строки, сделаны некоторые правки в старых.

    Забираем

    11 комментариев
  10. Прикручиваем xdebug к Denwer

    13 мая 2008

    Когда-то меня спрашивали, как прикрутить Xdebug к Денверу. Вот пошаговая инструкция:

    1. Сливаем dll Xdebug тут: http://xdebug.org/download.php.

    2. Копируем слитый файлик (в моём случае это php_xdebug-2.0.3-5.2.5.dll) в путь_к_denwer/usr/local/php5/ext/.

    3. Прописываем в путь_к_denwer/usr/local/php5/php.ini:

      [xdebug]
      zend_extension_ts=/usr/local/php5/ext/php_xdebug-2.0.3-5.2.5.dll
      
    4. Проверяем, что всё работает при помощи phpinfo(): должна появится секция xdebug и не должно быть предупреждений вроде XDEBUG NOT LOADED AS ZEND EXTENSION.

    UPD: для PHP 5.3 необходимо заменить zend_extension_ts на zend_extension.

    UPD2: на официальном сайте есть волшебная страничка, которая всегда подскажет, что с вашим xdebug не так.

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