Почему грузить только со своего сервера

Очень много рекомендаций в последнее время появилось, призывающей грузить сторонние скрипты с google.code или их серверов. Аргументация такая:

  • если все сайты грузят jQuery c Google Code то jQuery к’шируется в браузере один раз для всех сайтов;
  • если исправили ошибку в текущем релизе – везде автоматически заменится.

Я же рекомендую все скрипты, рекомендующие свои Hosted Version, как jQuery, jQuery Tools, nicEdit, грузить исключительно с того сервера, на котором разрабатывается проект. Таким образом:

  • вы застрахованы от падений сторонних сервисов;
  • скрипт загрузится быстрее, пинги до США ой как длинны;
  • при показе заказчику локальной копии проекта в отсутствие интеренета не будете иметь бледный вид;
  • вы сможете вносить свои изменения (например, руссифицировать nicEdit, или переопределить его кнопку загрузки изображений на собственный AJAX-загрузчик), что, по понятным причинам невозможно с hosted версией;
  • мелкое изменение или исправление hosted версии не приведёт к странному поведению вашего проекта.

В общем, всё своё носи с собой. По крайней мере, на время разработки.

Почему грузить только со своего сервера

jQuery потому что

Copy Source | Copy HTML

  1. function checkRadios() {
  2.         var el = document.formregions.elements;
  3.         var valueofchecked =  0;
  4.         for(var i =  0 ; i < el.length ; ++i) {
  5.             if(el[i].type == "radio") {
  6.                 var radiogroup = el[el[i].name];
  7.                 var itemchecked = false;
  8.                 for(var j =  0 ; j < radiogroup.length ; ++j) {
  9.                     if(radiogroup[j].checked) {
  10.                         itemchecked = true;
  11.                         valueofchecked = radiogroup[j].value;
  12.                         break;
  13.                     }
  14.                 }
  15.                 if(!itemchecked) {
  16.                     alert("Пожалуйста, выберите сначала регион.");
  17.                     if(el[i].focus)
  18.                         el[i].focus();
  19.                     return false;
  20.                 }
  21.             }
  22.         }
  23.         return valueofchecked;
  24.     }

=

Copy Source | Copy HTML

  1. $('#regionstree input:radio:checked').val()

jQuery потому что

CodeIgniter и Ajax

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

Задача такая: есть дерево меню сайта в админке. Рядом с каждым пунктом меню — кнопка, нажав её, переходим на страницу редактирования свойств пункта меню: ссылки, активности, картинки. Задача следующая — не переходить на другую страницу, как в "суровые девяностые", а используя AJAX открыть тут же, в псевдо всплывающем окне, типа лайтбокса, который заполонил весь инет.

Начнём, как говорят "37 signals", с проектирования интерфейса. Использовать плагины и чужие скрипты не хочется, люблю, чтобы страницы загружались быстро. Поэтому обойдёмся без лайтбокса и jquery tools. Всплывающее окно будет у нас слоем с абсолютным позиционированием и следующими свойствами:

Copy Source | Copy HTML

  1. #divedit
  2. {
  3.      position: absolute;
  4.      z-index:0;
  5.      background: silver;
  6.      display: none;
  7.      top:50%;
  8.      left:50%;
  9.      width: 400px;
  10.      height: 274px;
  11.      margin-left: -200px;
  12.      margin-top: -137px;
  13.      border: gray solid;
  14. }

Продолжить чтение «CodeIgniter и Ajax»

CodeIgniter и Ajax