Программирование > JavaScript & JScript
Почему не работет
alex007:
Есть скрипт:
var type=navigator.appName
if (type=="Netscape")
var lang = navigator.language
else if (type=="Opera")
var lang = navigator.language
else if (type=="MSIE 5.0")
var lang = navigator.language
else if (type=="Mozilla")
var lang = navigator.language
else
var lang = navigator.userLanguage
var lang = lang.substr(0,2)
if (lang == "en")
window.location.replace(\'index1.html\')
else if (lang == "en-us")
window.location.replace(\'index1.html\')
else if (lang == "en-gb")
window.location.replace(\'index1.html\')
else if (lang == "ru")
window.location.replace(\'index2.html\')
else if (lang == "uk")
window.location.replace(\'index2.html\')
else
window.location.replace(\'index1.html\')
Не подскажете ли почему этот скрипт не работает в Опере и в IE5.0? или как его можно исправить чтобы он работал в этих браузерах тоже.
Большое спасибо.
Макс:
alex007
Учись свои скрипт отлаживать. alert() будет тебе другом и товарищем в трудную минуту.
выведи alert(type+" "+lang); и посмотри что он напишет.
Вставь alert() между условиями и посмотри какое условие выполнится.
ЗЫ
Сделал бы на серверной стороне и не мучился бы с межброузерной отладкой
ЗЗЫ
Называй темы осмыслено
GotZfild:
--- Цитировать ---else if (type=="MSIE 5.0")
--- Конец цитаты ---
IE представляется как Microsoft Internet Explorer
--- Цитировать ---var lang = lang.substr(0,2)
--- Конец цитаты ---
--- Цитировать ---else if (lang == "en-us")
--- Конец цитаты ---
Зачем тебе en-us, еслу у тебя в lang только два символа?
alex007:
Спасибо за ответы.
--- Цитировать ---Сделал бы на серверной стороне и не мучился бы с межброузерной отладкой
--- Конец цитаты ---
А как это дело в CGI/Perlе сделать?
Макс:
Вообще-то это в perl-форум
$cgi = new CGI;
$lang = $cgi->http[\'HTTP_ACCEPT_LANGUAGE\'];
ну и дальше через if или switch
если что не так, то NeoNox или Chs меня поправят :)
Навигация
Перейти к полной версии