Автор Тема: Почему не работет  (Прочитано 5227 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн alex007

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 835
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.russians-in-london.co.uk/
Почему не работет
« : 31 Июля 2002, 23:50:37 »
Есть скрипт:



Не подскажете ли почему этот скрипт не работает в Опере и в IE5.0? или как его можно исправить чтобы он работал в этих браузерах тоже.

Большое спасибо.
Русские-в-Лондоне. Как они там? Интересно. Инфо (FAQ), Форум и Магазин

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Почему не работет
« Ответ #1 : 01 Августа 2002, 01:19:32 »
alex007
Учись свои скрипт отлаживать. alert() будет тебе другом и товарищем в трудную минуту.
выведи alert(type+" "+lang); и посмотри что он напишет.
Вставь alert() между условиями и посмотри какое условие выполнится.

ЗЫ
Сделал бы на серверной стороне и не мучился бы с межброузерной отладкой

ЗЗЫ
Называй темы осмыслено
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
Почему не работет
« Ответ #2 : 01 Августа 2002, 14:43:36 »
Цитировать
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

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 835
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.russians-in-london.co.uk/
Почему не работет
« Ответ #3 : 01 Августа 2002, 21:30:45 »
Спасибо за ответы.

Цитировать
Сделал бы на серверной стороне и не мучился бы с межброузерной отладкой

А как это дело в CGI/Perlе сделать?
Русские-в-Лондоне. Как они там? Интересно. Инфо (FAQ), Форум и Магазин

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Почему не работет
« Ответ #4 : 01 Августа 2002, 22:32:52 »
Вообще-то это в perl-форум
$cgi = new CGI;
$lang = $cgi->http[\'HTTP_ACCEPT_LANGUAGE\'];
ну и дальше через if или switch

если что не так, то NeoNox или Chs меня поправят :)
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Fluke

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 62
  • +0/-0
  • 0
    • Просмотр профиля
Почему не работет
« Ответ #5 : 02 Августа 2002, 09:13:46 »
Кусок кода для 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("]"));}}}}


С уважением.

Оффлайн alex007

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 835
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.russians-in-london.co.uk/
Почему не работет
« Ответ #6 : 02 Августа 2002, 21:27:17 »
Макс, Fluke

Большое спасибо за ответы.
Русские-в-Лондоне. Как они там? Интересно. Инфо (FAQ), Форум и Магазин

Оффлайн alex007

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 835
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.russians-in-london.co.uk/
Почему не работет
« Ответ #7 : 03 Августа 2002, 21:28:22 »
Цитировать
Кусок кода для 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 не работает вот скрипт:



Жду ответов.
С уважением Алекс
Русские-в-Лондоне. Как они там? Интересно. Инфо (FAQ), Форум и Магазин

Оффлайн alex007

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 835
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.russians-in-london.co.uk/
Почему не работет
« Ответ #8 : 07 Августа 2002, 22:47:48 »
Жду ответов
Русские-в-Лондоне. Как они там? Интересно. Инфо (FAQ), Форум и Магазин

Оффлайн puh

  • Ни свой, ни чужой
  • Старожил
  • ****
  • Сообщений: 300
  • +0/-0
  • 2
    • Просмотр профиля
Почему не работет
« Ответ #9 : 08 Августа 2002, 10:24:53 »
else if(userAgent.indexOf(\'MSIE\')>=0)
нет такой конструкции в JavaScript
© Винни-Пух

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Почему не работет
« Ответ #10 : 08 Августа 2002, 16:28:09 »
puh
Цитировать
else if(userAgent.indexOf(\'MSIE\')>=0)
нету else if ?

alex007
Вот ты за неделю между первым и последним топиком в этой теме как пытался решить свою проблему?

вот это работает в MSIE 5.0, оперы у меня нет, в остальных броузерах он (по твоим словам) работал



First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн puh

  • Ни свой, ни чужой
  • Старожил
  • ****
  • Сообщений: 300
  • +0/-0
  • 2
    • Просмотр профиля
Почему не работет
« Ответ #11 : 08 Августа 2002, 16:55:13 »
Цитировать
нету else if ?

Нету!
Вот спецификация:
http://www.terrorzone.kiev.ua/js.guide/stmtsov.htm#1008319
Зато можно использовать switch Statement
© Винни-Пух

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Почему не работет
« Ответ #12 : 08 Августа 2002, 17:46:36 »
puh

else if() {
}

это все равно что

else {
   if () {
   }
}

просто в данном для else можно упустить фигурные скобки, так так внутри только один оператор if()
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн puh

  • Ни свой, ни чужой
  • Старожил
  • ****
  • Сообщений: 300
  • +0/-0
  • 2
    • Просмотр профиля
Почему не работет
« Ответ #13 : 08 Августа 2002, 21:58:03 »
Не знал, спасибо тебе, Макс!
© Винни-Пух

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28