Jump to content
  • 0

Скрывать-открывать div в зависимости от браузера.


2_k
 Share

Question

14 answers to this question

Recommended Posts

  • 0

<div id="specific">…</div>

<script type="text/javascript">
if(navigator.product == "Gecko") {
document.getElementById("specific").style.display = "none";
}
</script>

или

<div id="specific" style="display: none;">…</div>

<script type="text/javascript">
var ie /*@cc_on = true @*/;
var opera = window.opera && opera.version;
if(ie || opera) {
document.getElementById("specific").style.display = "block";
}
</script>

Edited by Octane
Link to comment
Share on other sites

  • 0
ни то, ни то не сработало..

приведенный мной код работает.

к чему такие извращенные методы…

В чем по вашему здесь извращения?

/*@cc_on … @*/ — Conditional Compilation (cтандартная для JScript в Internet Explorer конструкция).

window.opera — специальный встроенный объект для идентификации браузера Opera.

Пример, использующий navigator.product, для определения браузеров, построенных на основе Gecko, есть в MDC.

Link to comment
Share on other sites

  • 0

Извращение в том, что для определения браузера логично использовать функцию определение браузера.

А то что предлагаете это сродни использованию для заголовка тэга див вместо аш - в итоге получишь тоже самое, но все равно это не то.

Link to comment
Share on other sites

  • 0
Извращение в том, что для определения браузера логично использовать функцию определение браузера.

И где же такая функция для определения браузера? Тем более поиск по строке navigator.userAgent ненадежен.

А то что предлагаете это сродни использованию для заголовка тэга див вместо аш - в итоге получишь тоже самое, но все равно это не то.

Значит разработчики Opera, добавив специальный объект для идентификации браузера, сделали что-то не то?

старые добрые navigato.Appname и navigator.useragent решат проблемы…

Почему navigator.product тоже самое, но все равно это не то?

Edited by Octane
Link to comment
Share on other sites

  • 0
Тем более поиск по строке navigator.userAgent ненадежен.

Он на разу ненадежней уникальных конструкций… Вот как к примеру а автора темы не работает , хотя он скорее всего просто где какой символ ввел не так.

Вообще ( чистое ИМХО ) определение браузера, по “вторичным половым признакам” , а не по строке в которой содержится его имя - это что из области индусского кода…

А строки уникальные для каждого браузера типо product или Opera я не по религиозным соображениям… Ничего хорошего из таких методов как правило не получается когда брузер в лево, другой направо...

Хотя appname и useragent тоже не панацея ибо в разных браузерах работают либо одна , либо другая…

Link to comment
Share on other sites

  • 0

Думаю практика эта не от хорошей жизни, а от довольно мутарной реализации проверки свойст аппнаме и юзерагент, которые как раз и мутарны из того что каждый браузер идёт своей дорогой…

Link to comment
Share on other sites

  • 0

Хм. Изменение строки user agent'a намного более вероятно, нежели отказ от ранее введенных объектов. Вот Опера 10 -- изменила формат, и jquery ее определяет как опера 9.80. ИЕ8 тоже вроде бы что-то нагородил, когда вышел. В чем смысл определения по какой-то строке, которую я и поменять-то могу, как хочу, в принципе (ну вот не хочу я палится, что у меня Винда, и все :blink:), а не по наличию чего-то в движке браузера, что однозначно говорит нам, кто он?

Link to comment
Share on other sites

  • 0
Вот Опера 10 -- изменила формат, и jquery ее определяет как опера 9.80

Тем не менее он определил как оперу а не как ФФ. Тем более она сама кажется даже в РК представлялась как 9.80

ну вот не хочу я палится, что у меня Винда, и все ),

А это уже сугубо ваши проблемы, вы бы ещё вообще JS отключили… А В общем (ИМХО) таким людям , которые что то меняют или хуже того отключают js полностью нужно гвоздь в голову вбивать… Тут многие жалуются на владельцев ИЕ 6, хотя большинство из них просто сидит в органищациях и не может сменить браузер… А вот JS отключают намеренно…

Я просто имею ввиду, что лучше немного более длинный код, но зато он будет более логичный…

Это все чистое ИМХО :blink: Спорить В общем смысла мало.

Link to comment
Share on other sites

  • 0
А В общем (ИМХО) таким людям , которые что то меняют или хуже того отключают js полностью нужно гвоздь в голову вбивать…

Юзерагент может менять не только сам пользователи, но и программы, устанавливаемые на компьютер. А про ограничение в 260 символов в IE7 слышали?

Link to comment
Share on other sites

  • 0

Mail.ru Agent, WebMoney Keeper Classic, Skype, Microsoft.NET Framework Assistant и множество других программ дописывают в строку userAgent свои идентификаторы. А так же некоторые фаерволы сокращают userAgent до минимума Mozilla/4.0 (compatible;).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy