Показать сообщение отдельно
  #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] для оформления листингов кода в теле сообщения
Ответить с цитированием