Праверце браўзэр IE ID ці не

Я хачу, каб праверыць браўзэр IE ці не выкарыстоўваць JQuery. Калі браўзэр IE змяніць некаторыя class.I спрабаваў нешта накшталт

$(document).ready(function() {
    
   ---------------
    
    });

Але гэта не адказвае на мае патрэбы .anyone дапамагчы?

0
выкарыстанне navigator.userAgent
дададзена аўтар Dineshkani, крыніца
магчыма дублікат Што замена за $ .browser
дададзена аўтар Quentin, крыніца
Чаму вы хочаце гэта зрабіць? Там амаль не добрая прычына, каб праверыць, які браўзэр выкарыстоўваецца, і гэта здаецца малаверагодным, што вы натыкнуліся на адну з гэтых прычын, калі вы на самой справе не ведаеце, як гэта зрабіць. Што <�я> рэальны </я> праблема, якую вы спрабуеце вырашыць?
дададзена аўтар nnnnnn, крыніца
Чаму вы павінны зрабіць гэта? Адной з асноўных прычын для выкарыстання jQuery з'яўляецца выразаць неабходнасць канкрэтнага аглядальніка кода. І нават тады, калі вам трэба зрабіць нешта канкрэтнае, у залежнасці ад браўзэра, гэта, як правіла, лепш выкарыстоўваць функцыю выяўлення, а не выяўлення браўзэра. Іншымі словамі, амаль напэўна будзе лепшым рашэннем вашай праблемы, чым спрабаваць праверыць IE.
дададзена аўтар Spudley, крыніца

8 адказы

Вы не вызначылі дастаткова пра тое, што фактычная праблема, але я мяркую, што вы спрабуеце справіцца з функцыяй, якая адсутнічае ў (некаторыя версіі) IE.

Галоўнае, што я хацеў бы сказаць, што ваш падыход да вырашэння гэтай праблемы ў корані няслушна.

Для пачатку, магчымасці IE (як для любога іншага браўзэра) адрознівацца адзін ад аднаго паміж рознымі версіямі. IE10 на самай справе вельмі добра, і падтрымлівае большасць сучасных функцый браўзэра вы можаце захацець выкарыстаць. І IE11 будзе выпушчаны ў бліжэйшы час з яшчэ лепшай падтрымкай. Вы можаце мець праблемы з IE8 ці раней, але найбольш добра напісаны код павінен працаваць з IE10 без якіх-небудзь праблем. Такім чынам, праверка коўдры для IE без праверкі версіі амаль напэўна дрэнная ідэя.

Secondly, even if you are going to do an IE check, is wrong because IE has dropped support for this since IE10. The reason they've dropped it is specifically to discourage the bad practice of browser detection.

Існуюць розныя іншыя спосабы выяўлення IE, але ўсе яны дрэнныя практыкі па той жа прычыне: выяўленне браўзэра і зрабіць свой сайт працаваць па-рознаму для розных браўзэраў маюць ўвесь груз праблем з ім. Гэта вялікая тэма, таму я прапаную чытанне тут для атрымання дадатковай інфармацыі.

І, нарэшце, што рабіць замест гэтага? Адказ <�моцны> функцыя выяўлення .

Карацей:

  1. Work out what feature it is that you need that isn't supported in older browsers
  2. Write a script that detects whether the user's browser supports that feature.
  3. Write your code to cope with a negative answer from that check.
    (this may include 'polyfill' scripts that add the missing features to the browser, or some kind of alternative functionality for unsupported browsers)

Гэты метад дазваляе напісаць свой сайт такім чынам, што мае справу з усімі браўзэрамі, незалежна ад таго, якія магчымасці ў іх ёсць.

Добрая бібліятэка, вы павінны паспрабаваць для выяўлення асаблівасцяў з'яўляецца Modernizr .

пс - Калі ў вас узніклі праблемы з чымсьці канкрэтным ў IE, вы павінны задаць асобнае пытанне пра гэта; ёсць добры шанец, што народныя тут будзе ў стане дапамагчы вам атрымаць працу, і ўвесь «як я магу выявіць IE» пытанне было б залішнім ў любым выпадку.

3
дададзена
@Arun Як вы сказалі, у гэтым нітка каментара: калі браўзэр Т.е ўнесці некаторыя змены ў css.thats толькі ?? Я разумею гэта так: калі браўзэр IE, то я хацеў бы ўнесці некаторыя змены ў CSS. То адзінае, што я хачу.
дададзена аўтар andlrc, крыніца
@Arun Вы таксама можаце напісаць CSS дзівацтваў, названыя ў IE: Невялікая калекцыя прысутнічае тут:
дададзена аўтар andlrc, крыніца
@Arun - якія пэўныя змены CSS вам трэба зрабіць? CSS звычайна павінны працаваць гэтак жа ў IE, як і любы іншы браўзэр. Вы ўпэўненыя, што ваш сайт не рабіць нешта накшталт працуе IE у рэжыме сумяшчальнасці? Гэта было б сапраўды зрабіць CSS працу ў IE па-рознаму, але рашэнне, што павінен мець сапраўдны доктайп для вашай старонкі, і, безумоўна, <�б> не , каб напісаць іншую CSS для IE.
дададзена аўтар Spudley, крыніца
На самай справе мая патрэба праверыць, ці з'яўляецца браўзэр IE або not.if ў браўзэры Т.е ўнесці некаторыя змены ў css.thats толькі
дададзена аўтар Arun, крыніца
@NULL як хак дапамагчы мне для маёй патрэбы?
дададзена аўтар Arun, крыніца
@null окей .....
дададзена аўтар Arun, крыніца
1
дададзена
@Spudley не будзе пярэчыць супраць гэтага, але часам праблема можа быць тое, што ў зман, што вам проста трэба ў брудным IE выправіць, і вы не ўпэўненыя ў тым, што функцыя, якую Вы павінны праверыць супраць. Але досыць упэўнены, што вы таксама можаце загрузіць «рамку», як Modernizr і такім чынам ведаць аб усіх асаблівасцях (не) даступныя для вас.
дададзена аўтар andlrc, крыніца
Вялікую частку часу, калі праблема <�я>, што </я> заблытаным, гэта паказвае на больш глыбокае пытанне, які павінен быць зафіксаваны. Працуючы вакол яго з выпраўленнем IE (брудным ці іншым чынам), а не знайсці прычыну, можа на самай справе яшчэ горш у доўгатэрміновай перспектыве. (Напрыклад, у дадзеным выпадку, ад каментароў на мой адказ, я пачатку да падазраваць, што ён можа знаходзіцца ў рэжыме сумяшчальнасці, якія могуць быць выпраўленыя вельмі лёгка, дадаўшы доктайп Спроба выправіць гэта шляхам налады CSS у IE можа атрымаць рэчы. рухаюся ў правільным кірунку, але ўсё ж пакінуць адтуліны, якія могуць толькі сапраўды быць замацаваны шляхам дадання доктайпа)
дададзена аўтар Spudley, крыніца
Шчыра кажучы, я б не спадзявацца на гэты матэрыял небудзь. Гэта бярэ добрую ідэю выяўлення асаблівасцей, і ператварыць яго ў яшчэ горшай спосаб зрабіць выяўленне браўзэра. Правільны спосаб зрабіць функцыю выяўлення, каб выявіць для функцый, якія вы фактычна карыстаецеся, ня для функцый, якія вы лічыце, з'яўляюцца ўнікальнымі для канкрэтнага браўзэра.
дададзена аўтар Spudley, крыніца

$.browser is deprecated and shouldn't be used.

You can use feature detection instead to check for specific things you need to render your page. See the jQuery docs here: http://api.jquery.com/jQuery.support/

1
дададзена

jQuery.browser was deprecated in jQuery 1.9.

You should try jQuery Migrate - https://github.com/jquery/jquery-migrate

Similar question to - Easiest/Lightest Replacement For Browser Detection jQuery 1.9?

0
дададзена

Паспрабуйце праверыць браўзэр.

 if ( $.browser.msie ) {
     alert( $.browser.version );
  }

<�Код> $. Браўзэра <�код /> Уласцівасць дае інфармацыю аб вэб-браўзэра, які атрымлівае доступ да старонкі, як паведамляе сам браўзэр. Ён змяшчае сцягі для кожнага з чатырох найбольш распаўсюджаных класаў браўзэраў (Internet Explorer, Mozilla, Webkit і Opera), а таксама інфармацыю аб версіі.

Даступныя сьцягі:

    <�Літый> WebKit (па стане на jQuery1.4) </літый> <�Літый> сафары (састарэлае) </літый>
  • опера
  • MSIE
  • Mozilla

спасылка

0
дададзена
$ .Browser быў выдалены: «Гэта ўласцівасць было выдаленае ў jQuery 1.9»
дададзена аўтар A. Wolff, крыніца

Маё дрэннае, я не правяраў, але jQuery.browser непажаданы з jQuery версіі 1.9.

Instead the correct practice using jQuery would involve feature detection with jQuery.support()

<�Р> Апісанне: Набор уласцівасцяў, якія ўяўляюць сабой наяўнасць розных функцый браўзэра або памылак. У першую чаргу прызначаны для ўнутранага выкарыстання jQuery ў; Спецыфічныя ўласцівасці могуць быць выдаленыя, калі яны больш не патрэбныя ўнутрана, каб палепшыць прадукцыйнасць старонкі загрузкі.
0
дададзена
Звярніце ўвагу, што гэта не ўключана па змаўчанні ў JQuery> 1,9
дададзена аўтар Rory McCrossan, крыніца
@Mark Дзякуй, я адрэдагаваў мой адказ
дададзена аўтар Mark Walters, крыніца
$ .Browser састарэла і не павінна выкарыстоўвацца.
дададзена аўтар Mark, крыніца

Вы можаце паспрабаваць гэта, без неабходнасці JQuery, але з умоўнымі каментарамі:

<!DOCTYPE HTML>
<!--[if IE 8 ]><!-->

<!--
0
дададзена
ня мець на ўвазе, што IE10 (і будучыя версіі IE) больш не падтрымлівае ўмоўныя каментары, таму гэты метад не будзе працаваць для выяўлення пазнейшыя версіі IE. (Гэта было выдаленае ў відавочным выглядзе, каб перашкаджаць дрэнную практыцы выяўлення браўзэра)
дададзена аўтар Spudley, крыніца

I guess you can still use conditional comments to check the whether browser is IE or not... Please go thru the blog posted here

 <!--[if IE]> 
     This content is ignored in IE10 and other browsers.    
     In older versions of IE it renders as part of the page.    

       <script src="jquery-1.9.1.js"></script>
    jQuery team has used!
    <!--[if gte IE 9]><!-->
        <script src="jquery-2.0.0b2.js"></script>
    <!--
0
дададзена