środa, 4 listopada 2009

Detekcja przeglądarki IE - wersja rozszerzona

Jest to rozszerzona funkcja IsIE(), która dodatkowo może sprawdzić czy przeglądarka jest w wersji 8/7/6.
Wywołanie:
IsIE() - czy to przeglądarka IE
IsIE(6) - czy to IE6, IE6+ ale nie 7,8
IsIE(7) - czy to IE7, IE7+ ale nie 8
IsIE(8) - czy to IE8, IE8+
function IsIE(nVer)
{
    if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) {
        if (nVer == null) {
            return true;
        }
        else {
            var ieversion = new Number(RegExp.$1) 
            if ((ieversion >= 8)&&(nVer==8)) return true;
            else if ((ieversion >= 7)&&(nVer==7)) return true;                
            else if ((ieversion >= 6)&&(nVer==6)) return true;
            else return false;
        }
    }
}

wtorek, 3 listopada 2009

Prosty SlideShow w znaczniku DIV włącznie z rysunkami typu png

W body html znacznik div z ID
<div class="klasa" ID="slideshow"></div>
oraz przy znaczniku body
<body onload="show('pic',5);" >
ustawienie co 5 sek zmiany wyświetlanych obrazów

Kod javascript
var nPic = 0;

var tab_pic = new Array(7);
    tab_pic[0]="pic/pic1.jpg";
    tab_pic[1]="pic/pic2.jpg";
    tab_pic[2]="pic/pic3.jpg";
    tab_pic[3]="pic/pic4.jpg";
    tab_pic[4]="pic/pic5.jpg";
    tab_pic[5]="pic/pic6.jpg";   
    tab_pic[6]="pic/pic7.png";   



function show(nId,nSec){
  window.setInterval('nPic = slideshow("'+nId+'",nPic)',(nSec*1000));
}

function slideshow(nId,nPic)
{
    if (document.getElementById(nId)) {
        var div = document.getElementById(nId);
        if (IsIE()) {
            div.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + tab_pic[nPic] + '",sizingMethod="crop")';
        } else {
            div.style.backgroundImage = 'url(' + tab_pic[nPic] + ')';
        }
    }
   
    if (nPic < tab_pic.length - 1) nPic = nPic + 1; else nPic = 0;
    return nPic;
}

Detekcja przeglądarki

Czasami zachodzi potrzeba wykrycia przeglądarki, oto jedne z prostych sposobów:
Detekcja IE:
function IsIE()
{
    return (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) ;
}


Detekcja FireFox:
function IsFireFox()
{
    return (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent));
}


Detekcja Opery:
function IsOpera()
{
    return (/Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent));
}