Código PHP:
var BrowserDetect = {
init: function () {
this.browser = this.searchString(this.dataBrowser) || "Other"; },
searchString: function (data) {
for (var i=0;i<data.length;i++) {
var dataString = data[i].string;
var dataProp = data[i].prop;
this.versionSearchString = data[i].versionSearch || data[i].identity;
if (dataString) {
if (dataString.indexOf(data[i].subString) != -1)
return data[i].identity; }
else if (dataProp)
return data[i].identity;
} },
dataBrowser: [ {
string: navigator.vendor,
subString: "Apple",
identity: "Safari"
}, {
string: navigator.vendor,
subString: "KDE",
identity: "Konqueror"
}, {
string: navigator.userAgent,
subString: "Firefox",
identity: "Firefox"
}, {
string: navigator.userAgent,
subString: "MSIE",
identity: "Explorer",
versionSearch: "MSIE"
}, {
string: navigator.userAgent,
subString: "Gecko",
identity: "Mozilla",
versionSearch: "rv"
}, {
string: navigator.userAgent,
subString: "Mozilla",
identity: "Netscape",
versionSearch: "Mozilla" } ],
dataOS : [ { } ] };
BrowserDetect.init();
var faderray = new Array();
function FadeIn(objectto,limit,speed) {
faderray[objectto.id] = 'i';
if (BrowserDetect.browser == 'Explorer') {
setTimeout("IEChangeOpacityFadeIn('"+objectto.id+"','"+ limit +"','"+ speed+"')",20);
} else if ((BrowserDetect.browser == 'Firefox') || (BrowserDetect.browser == 'Netscape') || (BrowserDetect.browser == 'Mozilla')) {
setTimeout("FFChangeOpacityFadeIn('"+objectto.id+"','"+ limit +"','"+ speed+"')",20);
} else if ((BrowserDetect.browser == 'Safari') || (BrowserDetect.browser == 'KDE')) {
setTimeout("KHChangeOpacityFadeIn('"+objectto.id+"','"+ limit +"','"+ speed+"')",20);
} else {
setTimeout("CSChangeOpacityFadeIn('"+objectto.id+"','"+ limit +"','"+ speed+"')",20);
}
}
function FadeOut(objectto,limit,speed) {
faderray[objectto.id] = 'o';
if (BrowserDetect.browser == 'Explorer') {
setTimeout("IEChangeOpacityFadeOut('"+objectto.id+"','"+ limit +"','"+ speed+"')",20);
} else if ((BrowserDetect.browser == 'Firefox') || (BrowserDetect.browser == 'Netscape') || (BrowserDetect.browser == 'Netscape')) {
setTimeout("FFChangeOpacityFadeOut('"+objectto.id+"','"+ limit +"','"+ speed+"')",20);
} else if ((BrowserDetect.browser == 'Safari') || (BrowserDetect.browser == 'KDE')) {
setTimeout("KHChangeOpacityFadeOut('"+objectto.id+"','"+ limit +"','"+ speed+"')",20);
} else {
setTimeout("CSChangeOpacityFadeOut('"+objectto.id+"','"+ limit +"','"+ speed+"')",20);
}
}
function IEChangeOpacityFadeIn(objectto,limit,speed) {
var object = document.getElementById(objectto);
actualop = eval(object.filters.alpha.opacity);
for (i=0;i<speed;i++) {
actualop++; }
if (actualop > limit) {
actualop = limit; }
if ((actualop <= limit) && (faderray[objectto] == 'i')) {
object.filters.alpha.opacity=actualop;
setTimeout("IEChangeOpacityFadeIn('"+objectto+"','"+ limit +"','"+ speed+"')",20);
}
}
function IEChangeOpacityFadeOut(objectto,limit,speed) {
var object = document.getElementById(objectto);
actualop = eval(object.filters.alpha.opacity);
for (i=0;i<speed;i++) {
actualop--; }
if (actualop < limit) {
actualop = limit; }
if ((actualop >= limit) && (faderray[objectto] == 'o')) {
object.filters.alpha.opacity=actualop;
setTimeout("IEChangeOpacityFadeOut('"+objectto+"','"+ limit +"','"+ speed+"')",20);
}
}
function FFChangeOpacityFadeIn(objectto,limit,speed) {
var object = document.getElementById(objectto);
actualop = object.style.MozOpacity*100;
for (i=0;i<speed;i++) {
actualop++; }
if (actualop > limit) {
actualop = limit; }
if ((actualop <= limit) && (faderray[objectto] == 'i')) {
object.style.MozOpacity=(actualop/100);
setTimeout("FFChangeOpacityFadeIn('"+objectto+"','"+ limit +"','"+ speed+"')",20);
}
}
function FFChangeOpacityFadeOut(objectto,limit,speed) {
var object = document.getElementById(objectto);
actualop = object.style.MozOpacity*100;
for (i=0;i<speed;i++) {
actualop--; }
if (actualop < limit) {
actualop = limit; }
if ((actualop >= limit) && (faderray[objectto] == 'o')) {
object.style.MozOpacity=(actualop/100);
setTimeout("FFChangeOpacityFadeOut('"+objectto+"','"+ limit +"','"+ speed+"')",20);
}
}
function KHChangeOpacityFadeIn(objectto,limit,speed) {
var object = document.getElementById(objectto);
actualop = object.style.KhtmlOpacity*100;
for (i=0;i<speed;i++) {
actualop++; }
if (actualop > limit) {
actualop = limit; }
if ((actualop <= limit) && (faderray[objectto] == 'i')) {
object.style.KhtmlOpacity=(actualop/100);
setTimeout("KHChangeOpacityFadeIn('"+objectto+"','"+ limit +"','"+ speed+"')",20);
}
}
function KHChangeOpacityFadeOut(objectto,limit,speed) {
var object = document.getElementById(objectto);
actualop = object.style.KhtmlOpacity*100;
for (i=0;i<speed;i++) {
actualop--; }
if (actualop < limit) {
actualop = limit; }
if ((actualop >= limit) && (faderray[objectto] == 'o')) {
object.style.KhtmlOpacity=(actualop/100);
setTimeout("KHChangeOpacityFadeOut('"+objectto+"','"+ limit +"','"+ speed+"')",20);
}
}
function CSChangeOpacityFadeIn(objectto,limit,speed) {
var object = document.getElementById(objectto);
actualop = object.style.opacity*100;
for (i=0;i<speed;i++) {
actualop++; }
if (actualop > limit) {
actualop = limit; }
if ((actualop <= limit) && (faderray[objectto] == 'i')) {
object.style.opacity=(actualop/100);
setTimeout("CSChangeOpacityFadeIn('"+objectto+"','"+ limit +"','"+ speed+"')",20);
}
}
function CSChangeOpacityFadeOut(objectto,limit,speed) {
var object = document.getElementById(objectto);
actualop = object.style.opacity*100;
for (i=0;i<speed;i++) {
actualop--; }
if (actualop < limit) {
actualop = limit; }
if ((actualop >= limit) && (faderray[objectto] == 'o')) {
object.style.opacity=(actualop/100);
setTimeout("CSChangeOpacityFadeOut('"+objectto+"','"+ limit +"','"+ speed+"')",20);
}
}
Esto es lo que pasa cuando TODOs los navegadores crean su standar...
Funcionar funciona de coña, lo tuve que hacer yo por que no encontraba ninguno que me gustase.. todos eran una basura (con perdon a los que lo programaran)...
Pero el codigo queda muy largo... El script de detectar navegador no es mio, y esta "capuzamente" resumido por que como es lógico lo haré desde PHP pero ahí queda por si alguien lo uqiere XD