Исключить часть для всех IE -версий в typo3 - PullRequest
0 голосов
/ 20 апреля 2020

Я бы хотел временно исключить все версии Inte rnet Explorer (IE) из указанной части c в моем файле typo3 html. Я пытался закомментировать это так:

<!--[if !IE]> -->
<p>Some content here</p>
<!-- <![endif]-->

Этот метод не работает.

У кого-нибудь есть решение этой проблемы?

1 Ответ

1 голос
/ 20 апреля 2020

Условные комментарии (<!--[if !IE]> -->) были удалены в Inte rnet Explorer 10, поэтому он работает только до версии IE9.

Для обнаружения всех версий IE используя JavaScript, я предлагаю вам проверить строку userAgent . В версии IE 9 вы можете использовать условные комментарии для управления комментариями, для версии IE 9+ вы можете использовать JavaScript, чтобы скрыть комментарии.

Пожалуйста, проверьте следующий образец:

<!--[if !IE]> -->
<p id="iecontent">Some IE content here</p>
<!-- <![endif]-->

<script>
    //userAgent in IE7 WinXP returns: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727)
    //userAgent in IE11 Win7 returns: Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko

    if (navigator.userAgent.indexOf('MSIE') != -1)
        var detectIEregexp = /MSIE (\d+\.\d+);/ //test for MSIE x.x
    else // if no "MSIE" string in userAgent
        var detectIEregexp = /Trident.*rv[ :]*(\d+\.\d+)/ //test for rv:x.x or rv x.x where Trident string exists

    if (detectIEregexp.test(navigator.userAgent)) { //if some form of IE
        var ieversion = new Number(RegExp.$1) // capture x.x portion and store as a number
       //define a flag to check whether IE version is IE 9+
        var flag = false;
        if (ieversion >= 12)
        {
            document.write("You're using IE12 or above");
            flag = true;
        }
        else if (ieversion >= 11)
        {
            document.write("You're using IE11 or above")
            flag = true;
        }
        else if (ieversion >= 10)
        {
            document.write("You're using IE10 or above")
            flag = true;
        }
        else if (ieversion >= 9)
            document.write("You're using IE9 or above")
        else if (ieversion >= 8)
            document.write("You're using IE8 or above")
        else if (ieversion >= 7)
            document.write("You're using IE7.x")
        else if (ieversion >= 6)
            document.write("You're using IE6.x")
        else if (ieversion >= 5)
            document.write("You're using IE5.x")

        if (flag)
            document.getElementById("iecontent").style.display = "none";
    }
    else {
        document.write("n/a")
    }
</script>
...