Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   отделить IE8+ от IE7- (https://javascript.ru/forum/misc/6134-otdelit-ie8-ot-ie7.html)

Riim 12.11.2009 18:08

отделить IE8+ от IE7-
 
Нужно отделить IE8+ от IE7-. Сам IE уже отделен от FF, Opera и т. д.

Есть такой вариант:
if (navigator.userAgent.match(/msie\u0020([.\d]+);/i)[1] >= 8) {
    // IE8+
} else {
    // IE7-
}

но, хочется чего-нибудь попроще. Например, IE7+ и IE6- разделяю так:
if (window.XMLHttpRequest) {
    // IE7+
} else {
    // IE6-
}

Kolyaj 12.11.2009 18:13

Офтоп, конечно, но мне интересно: а зачем?

e1f 12.11.2009 18:51

querySelector() и querySelectorAll().

Octane 12.11.2009 19:20

var IE //@cc_on = ScriptEngineMinorVersion()

или
var IE //@cc_on = @_jscript_version * 10 % 10


Цитата:

Сообщение от e1f
querySelector() и querySelectorAll().

Эти и другие новые методы не доступны в Quirks Mode

Riim 12.11.2009 21:23

Цитата:

Сообщение от e1f
querySelector() и querySelectorAll()

спасибо, кажется это подойдет.

Цитата:

Сообщение от Octane
Эти и другие новые методы не доступны в Quirks Mode

а пользователь может как-то сам включить этот режим?

Цитата:

Сообщение от Kolyaj
мне интересно: а зачем?

в общем, я придумываю себе проблемы и мужественно их решаю :) . Очередную проблему можно увидеть так:
1. заходим сюда: http://javascript.ru/tutorial/foundation/errors
2. у textarea который внизу есть полоска, перетаскивая которую можно менять высоту. Делаем высоту побольше.
3. мотаем scroll в самый низ.
4. уменьшаем высоту.

При 4-ом пункте в большинстве браузеров (особенно заметно в FF и Opera) видны всякие неприятности: если уменьшать высоту медленно, то вся страница некрасиво дергается, так, как будто что-то зависло, если чуть быстрее, то textarea резко схлопывается до минимума.

Описанную проблему решил исправить так: при Drag.onStart запоминаю minHeight формы, в которой лежит textarea и сразу "form.style.minHeight = form.offsetHeight;", далее в Drag.onEnd восстанавливаю запомненный, исходный minHeight.

Во всех браузерах кроме IE7 (и даже в IE8!) все сразу заработало, а вот в IE7 какие-то странности: полоска при кликах по ней пропадает, снова появляется, может совсем пропасть. В общем, для IE7 надо отдельно допиливать.

Посмотреть можно здесь: http://realcode.ru/Item.aspx?id=2168b88d34e7e9a5
Я там пока оставил поведение IE7, что бы видно было о чем я тут.

В Chrome и Safari скрипт ничего не делает, т. к. в этих браузерах есть удобный уголок и ничего изобретать не надо. В IE6 скрипт тоже ничего не делает, т. к. мне пока лень мучиться с pngFix и заменять minHeight на height.

Octane 12.11.2009 21:29

Цитата:

Сообщение от Riim
а пользователь может как-то сам включить этот режим?

В IE8 может, но это уже его проблемы :)

Kolyaj 13.11.2009 08:23

Цитата:

Сообщение от Riim
В общем, для IE7 надо отдельно допиливать.

А допиливания под IE7 сломают работу в других браузерах?

Цитата:

Сообщение от Riim
Посмотреть можно здесь: http://realcode.ru/Item.aspx?id=2168b88d34e7e9a5

Ой, там же паскаль ))

micscr 15.08.2010 16:35

Цитата:

Сообщение от Riim (Сообщение 35231)
Цитата:

querySelector() и querySelectorAll()
спасибо, кажется это подойдет.

А чуточку поподробней, с примером кода, так сказать? :)


Часовой пояс GMT +3, время: 03:40.