Поиск по этому блогу

суббота, 17 марта 2012 г.

Детектирование Apple Safari 5.1.1 useragent с помощью jquery и javascript


Строка user-agent Safari от Apple выглядит так:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/534.51.22 (KHTML, like Gecko) Version/5.1.1 Safari/534.51.22

function checkSafariVersion(version) {
    $.browser.chrome = $.browser.webkit && !!window.chrome;
    $.browser.safari = $.browser.webkit && !window.chrome;
    if ($.browser.safari && navigator.userAgent.match(/Version\/(.*\s)/)[1].trim() < version) {
        alert('Update your Safari');
    }
    return;
}

checkSafariVersion('5.1.2');


Простой nginx+php+windows без всякой хни

1. Установка nginx

Качаем с http://nginx.org/ru/download.html последнюю версию
Распаковываем в удобное место.

2. Создаём батник для запуска

cd c:\www\_servers\nginx\
start nginx
c:\www\_servers\xampp\php\php-cgi.exe -b 127.0.0.1:9000 -c c:\www\_servers\xampp\php\php.ini
exit

(php-cgi.exe устанавливается вместе с php, я использовал php от xampp, апач которого предварительно прибил в службах и запретил ему запускаться)

3. Конфиг nginx.conf


worker_processes 1;

events {
    worker_connections 1024;
}


http {
    include mime.types;
    default_type application/octet-stream;

    sendfile on;

    keepalive_timeout 65;

    server {
        listen 80;
        server_name localhost;
        location / {
            root html;
            index index.html index.htm;
        }
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root html;
        }
    }

    server {
        listen 80;
        server_name test.local;
        index index.html index.php;
        root c:/www/_!sites/test.local/;
        location ~ \.php$ {
            root c:/www/_!sites/test.local/;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME c:/www/_!sites/test.local/$fastcgi_script_name;
            include fastcgi_params;
        }
    }
}

4. Запуск службой

Я использовал для этих целей плагин для total commander под названиием Services (локальные службы). В качестве запускаемого приложения указал вышеупомянутый батник.

В переменную окружения записываем PHP_FCGI_MAX_REQUESTS со значением 0 (это для того, чтобы fcgi не отваливался по достижению максимального количества запросов)

В принципе, этого достаточно для запуска web-сервера nginx на вашем windows-"box".


суббота, 11 февраля 2012 г.

Complete property Internet Explorer

Оказывается, всеми горячо "любимый" браузер Internet Explorer (речь идёт о 9-й версии сего детища браузеростроения) как всегда, по-своему обрабатывает свойство complete DOM-элемента image (попросту - картинки).

Если просто размещать картинки и прикольные фотки на странице, то ничего страшного в этом нет, ты никогда об этом даже не узнаешь.

Но мы (корейские пионеры), создаём интерактивные приложения на html canvas, поэтому сей баг здорово подпортил нам кровь. Дело в том, что некоторые библиотеки (в частности, jcanvas) используют это свойство в своих функциях.

К счастью, решение проблемы существует в виде плагина к jQuery под названием $.fn.imagesLoaded jQuery plugin.
Пример использования:

$(imagesContainer).imagesLoaded(function(){
        делаем свои дела ;
});

imagesContainer  -  контейнер, в который загружаются картинки.

Вот и всё. Всем удачи.

четверг, 9 февраля 2012 г.

Виртуальные хосты. Апач на коленке за 5 секунд.


 Добавь в httpd.conf :


LoadModule vhost_alias_module modules/mod_vhost_alias.so 
# Virtual hosts
Include "conf/extra/httpd-vhosts.conf"

Потом в conf/extra/httpd-vhosts.conf напиши:

#задаем настройки директорий вебсервера по дефолту
<Directory "c:/www/_!sites/">
Options
ExecCGI 
Indexes 
FollowSymLinks 
MultiViews
AllowOverride all
Order Allow,Deny
Allow from all
</Directory>
#приказываем апачке различать хосты по имени и слушать все ип адреса машины
NameVirtualHost *:80
#задаем автоматическое подключение виртуальных хостов по их имени
<VirtualHost _default_:80>
VirtualDocumentRoot c:/www/_!sites/%0/
ScriptAlias /cgi-bin/ "cgi-bin/"
</VirtualHost>

Всё. Вместо c:/www/_!sites/ - путь к каталогу, где у тебя будут лежать каталоги с сайтами.

Вопросы?