Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.03.2009, 15:00
Новичок на форуме
Отправить личное сообщение для Ден Посмотреть профиль Найти все сообщения от Ден
 
Регистрация: 22.03.2009
Сообщений: 1

Проблема с оперой
Привет всем. Вот собственно есть проблема, прошу подсказки более опытных чем я людей.
Есть менюшка выпадающая, написана на JavaScript, в FF работает, в IE - работает кое как, а вот в Опере - 0. В коде есть я так понял блок рассчитанный на кроссбраузерность,
я его приведу, просто весь код слишком большой
....
var agt=navigator.userAgent.toLowerCase();
var is_major = parseInt(navigator.appVersion);
var is_minor = parseFloat(navigator.appVersion);
var is_nav = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
&& (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
&& (agt.indexOf('webtv')==-1));
var is_nav2 = (is_nav && (is_major == 2));
var is_nav3 = (is_nav && (is_major == 3));
var is_nav4 = (is_nav && (is_major == 4));
var is_nav4up = (is_nav && (is_major >= 4));
var is_navonly = (is_nav && ((agt.indexOf(";nav") != -1) ||
(agt.indexOf("; nav") != -1)) );
var is_nav5 = (is_nav && (is_major == 5));
var is_nav5up = (is_nav && (is_major >= 5));
var is_moz7 = (agt.indexOf('0.7')!=-1)
var is_ie = (agt.indexOf("msie") != -1);
var is_ie3 = (is_ie && (is_major < 4));
var is_ie4 = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")==-1) );
var is_ie4up = (is_ie && (is_major >= 4));
var is_ie5 = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );
var is_ie5up = (is_ie && !is_ie3 && !is_ie4);
var is_opera = (agt.indexOf("opera") != -1);
var is_opera5 = (is_opera && (is_major != 3) && (agt.indexOf("5.01") != -1));
var is_webtv = (agt.indexOf("webtv") != -1);
var is_win = ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) );
var is_mac = (agt.indexOf("mac")!=-1);
//********
// define browser type, platform and color depth variables
// if client settings are not specific, treat as old browser (no script) on windows at 256 color
var bType = "old";
var os = "win";
var cd = "lo";
// if true look for colorDepth property (ie); if false look for pixelDepth property (ns);
var usec = true;
// browser
if (is_ie3 == true) { bType = "ie3"; usec = true; }
if (is_ie4up == true && is_opera == false && is_webtv == false) { bType = "ie4"; usec = true; }
if (is_nav2 == true || is_nav3 == true) { bType = "ns3"; usec = false; }
if (is_nav4up == true && is_nav5up == false) { bType = "ns4"; usec = false; }
if (is_nav5up == true && is_moz7 == false) { bType = "ns6"; usec = false; }
if (is_nav5up == true && is_moz7 == true) { bType = "mz7"; usec = false; }
if (is_opera == true) { bType = "op4"; usec = true; }
if (is_opera5 == true) { bType = "op5"; usec = true; }
if (is_webtv == true) { bType = "tv"; usec = true; }
**********
var is_opera5 = (is_opera && (is_major != 3) && (agt.indexOf("5.01") != -1));
когда в этой строчке я меняю 5.01 на скажем 9.24, то только Оперой 9.24 я и могу открыть страницу.
А как на счёт остальных версии, до и после 9.24? Подскажите, чайник я в Javascript((

Последний раз редактировалось Андрей Параничев, 22.03.2009 в 16:57. Причина: Пользуйтесь bb-тегами [js] и [html] для оформления листингов кода в теле сообщения
Ответить с цитированием
  #2 (permalink)  
Старый 22.03.2009, 15:49
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

выкиньте этот скрипт, и возьмите какой-нибудь поновее.
либо напишите с нуля.
ибо скрипт рассчитанный на оперу пятой версии, и возлагающий проблему кросбраузерности на navigator.userAgent качественным быть не может, по определению.
где вы такое старье откапываете, не знаю.
PS на этом форуме не помогают подогнать под себя чужие скрипты написанные еще при фаре горохе.
здесь вам не напишут за вас скрипт.
этот форум предназначен для помощи в написании. то есть вы пишите, и если конкретно что-то не получается, справшиваете совета.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема со скриптом Lightbox F1eldy Общие вопросы Javascript 22 18.08.2010 16:04
Проблема спама lliberty AJAX и COMET 1 12.03.2009 16:47
проблема с обработкой DIV nerik AJAX и COMET 2 22.08.2008 17:40
Проблема с маркером kostian02 Общие вопросы Javascript 0 23.06.2008 16:10
проблема с передачей русского текста в Prototype subaru Prototype & script.aculo.us 2 26.07.2007 16:56