Программирование > JavaScript & JScript
Java scripts и разные броузеры
:
Помогите люди добрые :). Вот как с помощбю SSI вывести разные версии для NN, IE и Оперы - знаю.. а вот с помошью - JS нет.. Точнее для NN и IE ещё смогу развести.. а вот для оперы нет... ну не знаю как :).... Тем более что эту оперу каждый может как хочет сам идентифицировать в ручную в панели настроек.. а скрипт всё равно при этом работать не будет...
Помогите, а? :)
Макс:
Попробуй вот эту функцию (взято с руководства c http://www.htmlguru.com/)
function Is() {
var agent = navigator.userAgent.toLowerCase();
this.major = parseInt(navigator.appVersion);
this.minor = parseFloat(navigator.appVersion);
this.ns = ((agent.indexOf(\'mozilla\')!=-1) && ((agent.indexOf(\'spoofer\')==-1) && (agent.indexOf(\'compatible\') == -1)));
this.ns2 = (this.ns && (this.major == 2));
this.ns3 = (this.ns && (this.major == 3));
this.ns4b = (this.ns && (this.minor < 4.04));
this.ns4 = (this.ns && (this.major >= 4));
this.ie = (agent.indexOf("msie") != -1);
this.ie3 = (this.ie && (this.major == 2));
this.ie4 = (this.ie && (this.major >= 4));
this.op3 = (agent.indexOf("opera") != -1);
this.win = (agent.indexOf("win")!=-1);
this.mac = (agent.indexOf("mac")!=-1);
this.unix = (agent.indexOf("x11")!=-1);
}
:
Соб-но сабЖ :)
Макс:
Да здесь и разбираться особо нечего.
is = new Is();
if (is.ie)
{
...// выводишь код для IE
}
if(is.ns)
{
...// выводишь код для NN
}
if (is.op3)
{
...// выводишь код для Opera
}
Подобным образом можно и для каждой версии выводить свой код.
Jslab:
Только у оперы (8.0 - точно) раздвоение личности -
она определяется так и как IE и как сама опера.
Поэтому, чтобы определить только настоящие IE, надо из всех is.ie
исключить is.op
Opera 8 :
appName =
Microsoft Internet Explorer
appVersion =
4.0 (compatible; MSIE 6.0; Windows NT 5.2; en)
userAgent =
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; en) Opera 8.0
(зачем-то маскируется под IE...)
Навигация
Перейти к полной версии