CB's blog

Динамическая загрузка JavaScript файлов

Декабрь 4, 2008

Не знаю, может это всем давно известно и тривиально, а может кому-то еще пригодится.

Собственно такая функция загружает JavaScript файл и после удачной загрузки вызывает функцию callback.

function addScript(src, callback) {
   var head = document.getElementsByTagName("head")[0];
   var script = document.createElement("script");

   script.type = "text/javascript";
   head.appendChild(script);
   script.src = src;

   // Normal browsers
   script.onload = callback;
   // IE
   script.onreadystatechange = function() {
      if(this.readyState == "loaded"  || this.readyState == "complete") {
         callback();
      }
   }
}

Пример использования:

addScript("http://job4it.net/informer/v0u0.5.0.js", ShowJob4ItData);

Литература:
Patrick Hunlock — Howto Dynamically Insert Javascript And CSS

P. S. Для меня самым сложным было сделать так чтобы работало в IE.

P. P. S. Описанный подход используется для “ленивой” загрузки баннеров на developers.org.ua

Google Chrome scrollbarred buttons

Сентябрь 14, 2008

Google Chrome настолько суров, что может отображать кнопки со скроллбарами:

Google Chrome button

Код:

.btn {
   width: 100px;
   height: 40px;
   overflow: auto;
   font-size: 22px;
}

<input type="button" class="btn" value="HelloWorld" />

Хорошая статья о фильтре AlphaImageLoader для прозрачности в IE6

Сентябрь 7, 2008

PNG alpha transparency: AlphaImageLoader filter flaws in IE6.

Лично мне очень помог раздел “Problem: Links don’t work”.

CSS для Safari 3 и Opera

Июль 30, 2008

@media all and (-webkit-min-device-pixel-ratio:0){
/* Safari 3 & Opera */
}

@media all and(-webkit-min-device-pixel-ratio:0){
/* Opera */
}

Наткнулся здесь: http://blog.hedgerwow.com/2007/06/22/detect-safari-3-via-css/#comment-147.

В первом случае после and есть пробел, а во втором пробела нет.

Форум developers.org.ua

Июль 23, 2008

Запустили.

Форум developers.org.ua