Forum Webscript.Ru
Программирование => JavaScript & JScript => Тема начата: alex007 от 31 Июля 2002, 23:50:37
-
Есть скрипт:
Не подскажете ли почему этот скрипт не работает в Опере и в IE5.0? или как его можно исправить чтобы он работал в этих браузерах тоже.
Большое спасибо.
-
alex007
Учись свои скрипт отлаживать. alert() будет тебе другом и товарищем в трудную минуту.
выведи alert(type+" "+lang); и посмотри что он напишет.
Вставь alert() между условиями и посмотри какое условие выполнится.
ЗЫ
Сделал бы на серверной стороне и не мучился бы с межброузерной отладкой
ЗЗЫ
Называй темы осмыслено
-
else if (type=="MSIE 5.0")
IE представляется как Microsoft Internet Explorer
var lang = lang.substr(0,2)
else if (lang == "en-us")
Зачем тебе en-us, еслу у тебя в lang только два символа?
-
Спасибо за ответы.
Сделал бы на серверной стороне и не мучился бы с межброузерной отладкой
А как это дело в CGI/Perlе сделать?
-
Вообще-то это в perl-форум
$cgi = new CGI;
$lang = $cgi->http[\'HTTP_ACCEPT_LANGUAGE\'];
ну и дальше через if или switch
если что не так, то NeoNox или Chs меня поправят :)
-
Кусок кода для Opera, MSIE и NN
with (navigator) {
if(userAgent.indexOf(\'Opera\')>=0)
{lang = userAgent.substring(userAgent.indexOf("[") + 1, userAgent.indexOf("]"));}
else {if(userAgent.indexOf(\'MSIE\')>=0)
{lang = browserLanguage;}
else {if(appName.indexOf(\'Netscape\')>=0)
{this.lang = userAgent.substring(userAgent.indexOf("[") + 1, userAgent.indexOf("]"));}}}}
С уважением.
-
Макс, Fluke
Большое спасибо за ответы.
-
Кусок кода для Opera, MSIE и NN
with (navigator) {
if(userAgent.indexOf(\'Opera\')>=0)
{lang = userAgent.substring(userAgent.indexOf("[") + 1, userAgent.indexOf("]"));}
else {if(userAgent.indexOf(\'MSIE\')>=0)
{lang = browserLanguage;}
else {if(appName.indexOf(\'Netscape\')>=0)
{this.lang = userAgent.substring(userAgent.indexOf("[") + 1, userAgent.indexOf("]"));}}}}
Попробывал в Opere и Netscape не работает, а в IE дает ошибку.
Пререправил немного в IE работает, а в Opere и Netscape не работает вот скрипт:
Жду ответов.
С уважением Алекс
-
Жду ответов
-
else if(userAgent.indexOf(\'MSIE\')>=0)
нет такой конструкции в JavaScript
-
puh
else if(userAgent.indexOf(\'MSIE\')>=0)
нету else if ?
alex007
Вот ты за неделю между первым и последним топиком в этой теме как пытался решить свою проблему?
вот это работает в MSIE 5.0, оперы у меня нет, в остальных броузерах он (по твоим словам) работал
-
нету else if ?
Нету!
Вот спецификация:
http://www.terrorzone.kiev.ua/js.guide/stmtsov.htm#1008319
Зато можно использовать switch Statement
-
puh
else if() {
}
это все равно что
else {
if () {
}
}
просто в данном для else можно упустить фигурные скобки, так так внутри только один оператор if()
-
Не знал, спасибо тебе, Макс!