Подтвердить что ты не робот

Если браузер - Internet Explorer: вместо этого запустите альтернативный script

Я использую карусель изображений script, который довольно тяжелый в браузере. Он отлично работает в Opera и Chrome, наполовину приличный в FF и абсолютно разбивает мои мячи в IE. Поэтому я хотел бы предоставить пользователям IE альтернативу простого HTML без каких-либо действий /JS.

script не использует MT или jQuery и его как 380 строк JS. Можно ли предоставить пользователям IE обычную альтернативу HTML?

var browserName=navigator.appName; if (browserName=="Microsoft Internet Explorer") { // what command can i use? }

4b9b3361

Ответ 2

Вы можете сделать что-то подобное, чтобы включить IE-специфический javascript:

<!--[IF IE]>
    <script type="text/javascript">
        // IE stuff
    </script>
<![endif]-->

Ответ 3

Вы определяете логическое значение со значением по умолчанию true, а затем внутри условный комментарий IE, задайте значение false и используйте значение чтобы определить, должен ли работать ваш расширенный код. Что-то вроде:

<script type="text/javascript">var runFancy = true;</script>
<!--[if IE]>
<script type="text/javascript">
    runFancy = false;
    //any other IE specific stuff here
</script>
<![endif]-->
<script type="text/javascript">
    if (runFancy) {
         //do your code that works with sane browsers
    }
</script>

Ответ 4

Для IE10+ стандартные условия не работают из-за изменений двигателя или по какой-либо другой причине, потому что, вы знаете, это MSIE. Но для IE10+ вам нужно запустить что-то вроде этого в ваших скриптах:

if (navigator.userAgent.match(/Trident\/7\./)) {
  // Do stuff for IE.
}

Ответ 5

var browserName = navigator.appName; if (browserName == "Microsoft Internet Explorer" ) { document.write( "Ваш html для IE" ) }

Ответ 6

Здесь используется script, и он работает как шарм. Я использовал логический метод, предложенный Эндером, поскольку другие, использующие только IE, script добавляет что-то в IE, но не извлекают исходный код.

    <script>runFancy = true;</script>
<!--[if IE]>
<script type="text/javascript">
    runFancy = false;
 </script> // <div>The HTML version for IE went here</div>
<![endif]-->

    // Below is the script used for all other browsers:
    <script src="accmenu/acac1.js" charset="utf-8" type="text/javascript"></script><script>ac1init_doc('',0)</script> 

Ответ 7

Попробуйте следующее: SystemLanguage и userLanguage undefined во всех браузерах.

if(navigator.userLanguage !== "undefined" && navigator.systemLanguage !== "undefined" && navigator.userAgent.match(/trident/i)) {
    alert("hello explorer i catch U :D")
  }

Ответ 8

Обратите внимание, что вы также можете определить в чистом js, в каком браузере вы выполняете script через: window.navigator.userAgent

Однако это не рекомендуется, поскольку он настраивается в настройках браузера. Дополнительная информация доступна там: https://developer.mozilla.org/fr/docs/DOM/window.navigator.userAgent

Ответ 9

Протестируйте его во всех браузерах:

<![if !IE]><script type="text/javascript">BROWSERIE = false;</script><![endif]>
<!--[if IE]><script type="text/javascript">BROWSERIE = true;</script><![endif]-->

Первый условный комментарий работает на хороших браузерах, второй работает на IE. Это глобальный var. Затем вы можете получить доступ к нему из любой части или любого JS, включенного в вашу страницу, а затем проверить его, например:

console.log('isIE = ' + BROWSERIE);
console.log(typeof BROWSERIE);
if(BROWSERIE) $('.modal').removeClass('fade'); // for example, if `fade` causes an error in IE.

Ответ 11

этот код хорошо работает на моем сайте, потому что он обнаруживает, является ли его то есть или нет, и активирует javascript, если он ниже, вы можете проверить его в прямом эфире на том или другом браузере Просто демонстрация if, т.е. javascript в действии

<script type="text/javascript">
<!--[if IE]>
window.location.href = "http://yoursite.com/";
<![endif]-->
</script>