<rmcreative>

RSS

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

  1. 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 комментариев
  2. qUIpt. Кэширование в window.name

    4 июля 2008

    Интересное решение, позволяющее закэшировать скрипт в window.name, тем самым избавляя от повторных его запросов.

    Пробуем

    Комментировать
  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. IE WebDeveloper

    1 июля 2008

    Найден ещё один «почти аналог» FireBug под IE. На этот раз более-менее приближённый к нему, что несомненно радует.

    Умеет довольно много:

    — Продвинутый DOM-инспектор.

    — Консолька, подобная FireBug-овской.

    — Можно использовать Console API FireBug.

    — HTTP монитор.

    Единственный минус — стоит это чудо от $59 до $4740, но, впрочем, лекарство от жадности имеется…

    Пробуем

    3 комментария
  5. Кроссбраузерный перенос строк. JavaScript.

    30 июня 2008

    Я уже упоминал способ перенести длинные слепленные строки, используя CSS.

    Для тех, кому хочется одновременно и валидно и красиво, вот решение на JavaScript.

    1 комментарий
  6. Javascript профайлер для FireBug

    23 июня 2008

    http://billwscott.com/jiffyext/images/jiffy-mock.png

    Jiffy — расширение для FireBug, позволяющее замерять время выполнения определённых частей кода и наглядно отображающее результат.

    Пробуем

    Announcing: Jiffy Firebug Extension for Viewing Client Side Performance Data

    Measuring User Experience Performance

    Комментировать
  7. Устраняем утечки памяти в JavaScript IE6

    9 июня 2008

    Хэджер Вэнг искал способы устранения утечек памяти в IE6 и нашёл относительно новый способ, рассмотренный в китайском блоге.

    Читаем

    11 комментариев
  8. Публичная порка JS-гуру

    9 июня 2008

    Комментировать
  9. Пять звёздочек

    28 мая 2008

    Вадим Макеев поделился отличным решением для динамичной полоски выставления рейтинга. Основная интерактивность вынесена в CSS. JavaScript используется только для отсылки результата. Таким образом, всё работает при отключенных картинках и скриптах: показывается прогресс-бар с ссылками.

    Изучаем

    Комментировать
  10. DOMAssistant 2.7.1

    28 мая 2008

    Обновился не очень популярный, но довольно мощный JavaScript фреймворк.

    — Добавлена поддержка псевдоклассов :nth-last-child, :nth-last-of-type и :target.

    — Добавлена поддержка одинарных и двойных кавычек вокруг атрибутов.

    — В .ajax() добавлена опция «noParse», с помощью которой можно отключить конвертацию GET-параметров в POST-параметры при POST-запросе.

    — Исправлена работа метода setAttributes в IE.

    — Исправлено определение пространства имён xhtml в XPath.

    — addContent теперь принимает как числа, так и текст.

    — События теперь могут быть добавлены или убраны при их исполнении.

    — Исправлено создание <object> в Firefox.

    Пробуем и обновляемся

    Комментировать