Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: navigator object
 
 автор: rg25   (03.03.2006 в 09:08)   письмо автору
 
 

Привет всем.

Я используя браузер "Netscape 7.2". В 'JavaScript' коде время от времени возникают ошибки связанные с 'navigator object'.
При распечатке вместо 'navigator object' получаю 'window object'.

Кто-нибудь сталкивался с подобной ситуацией ? И как можно это исправить ?

Спасибо заразнее.

   
 
 автор: 12345   (03.03.2006 в 13:14)   письмо автору
 
   для: rg25   (03.03.2006 в 09:08)
 

Напишите if(navigator object==window object)печатать что-то другое.
А что за object?

   
 
 автор: rg25   (06.03.2006 в 09:23)   письмо автору
 
   для: 12345   (03.03.2006 в 13:14)
 

Речь идет о проверке типа браузера.

Вот код:
function checkBrowser() {
try {
//alert(navigator);
if(navigator.userAgent.indexOf("MSIE") != -1) {
block = ".all"; style = ".style"; isDHTML = "true";
} else if(navigator.userAgent.indexOf("Nav") != -1) {
block = ".layers"; style = ""; isDHTML = "true";
} else if((navigator.userAgent.indexOf("Gecko") != -1)) {
isDOM = "true";
}
} catch(e){alert("checkBrowser " + e);}
}
С помощю 'navigator object' я получаю информацию о браузере.
Но иногда при провеке выбрасываетрся ошибка. В этом случае 'alert' выдает не 'navigator object' а 'window object'.

   
 
 автор: 12345   (06.03.2006 в 13:30)   письмо автору
 
   для: rg25   (06.03.2006 в 09:23)
 

Ни разу не слышал о том, что при чтении navigator выдавалась бы ошибка. Какой-то особенный браузер? Может быть, ошибка возникает, когда Вы собираетесь читать несозданную переменную isDHTML ? Строку userAgent клиент может подделывать, поэтому выдаст нечто несуществующее, и проверка даст все отрицательные результаты.

Вообще, по агенту определять тип - дело неадёжное, надо определять версии по наличию определённых объектов, этого клиент не подделает.

   
 
 автор: rg25   (06.03.2006 в 17:47)   письмо автору
 
   для: 12345   (06.03.2006 в 13:30)
 

Вопрос об особом браузере дала мысль попробовать код на других браузерах. На 'IE6', 'Firefox1.0.6' и 'Netscape7.1' ошибки ни разу не было, а на 'Netscape7.2' снова повторилось.

Определение переменной isDHTML просто забыл добавить в высылаемый код :)

Не подскажите что за определенные объекты ?

Спасибо.

   
 
 автор: 12345   (06.03.2006 в 19:23)   письмо автору
 
   для: rg25   (06.03.2006 в 17:47)
 

> Не подскажете что за определенные объекты ?

isDHTML и isDOM - определены или нет (undefined).

Значит, глюк этого бр., обходите его проверкой на сущ. navigator

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования