6

ブラウザがInternetExplorerIE8以前の場合、警告を表示したり、ポップアップを開いたりして、IEを最新バージョンに更新するか、代わりにFirefox / Chrome/Safariを使用することは可能でしょうか...

タグ内で以下のコードを使用する必要があると思います...

<!--[if lt IE 9]>
...i should use code here...
<![endif]-->

jQueryを使用してブラウザを検出し、jQuery libをロードするのは賢明ですか?または、非常に古いブラウザでの追加の問題を回避するために、通常のjavascriptを使用する方がよいでしょうか。

4

8 に答える 8

6

次の 2 つのオプションがあります。

  1. を解析するUser-Agent String

    // Returns the version of Internet Explorer or a -1
    // (indicating the use of another browser).
    function getInternetExplorerVersion() {
        var rv = -1; // Return value assumes failure.
    
        if (navigator.appName == 'Microsoft Internet Explorer') {
            var ua = navigator.userAgent;
            var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    
            if (re.exec(ua) != null) {
                rv = parseFloat( RegExp.$1 );
            }
        }
    
        return rv;
    }
    
    function checkVersion() {
        var msg = "You're not using Internet Explorer.";
        var ver = getInternetExplorerVersion();
    
        if ( ver > -1 ) {
            if ( ver >= 9.0 ) {
                msg = "You're using a recent copy of Internet Explorer."
            }
            else {
                msg = "You should upgrade your copy of Internet Explorer.";
            }
        }
        alert(msg);
    }
    
  2. 条件付きコメントの使用:

    <!--[if gte IE 9]>
    <p>You're using a recent version of Internet Explorer.</p>
    <![endif]-->
    
    <!--[if lt IE 8]>
    <p>Hm. You should upgrade your copy of Internet Explorer.</p>
    <![endif]-->
    
    <![if !IE]>
    <p>You're not using Internet Explorer.</p>
    <![endif]>
    

参考:Windows Internet Explorer をより効果的に検出する

于 2012-04-06T18:07:48.840 に答える
6

このようなものを使用できます

ie6-upgrade-warning は小さなスクリプト (7.9kb) で、ユーザーにブラウザを新しいバージョンにアップグレードするよう丁寧に通知する警告メッセージを表示します (最新の IE、Firefox、Opera、Safari、Chrome へのリンクが提供されています)。

Web ページは透明な背景の後ろにまだ表示されていますが、アクセスは妨げられています。これは、ユーザーに IE6 からのアップグレードを強制し、Web サイトが IE6 で正しくレンダリングされないという悪評を回避することを目的としています。

スクリプトはどの言語にも完全に翻訳可能で、セットアップも非常に簡単です (Web ページに 1 行のコードと 1 つのパラメーター構成を設定するだけです)。

IE6 ユーザーで使用するために作成されましたが、適切なパラメーターを使用してシナリオに使用できます。

于 2012-04-06T14:32:46.587 に答える
5
<script> var ISOLDIE = false; </script>
<!--[if lt IE 9]>
     <script> var ISOLDIE = true; </script>
<![endif]-->

その後、コード内で古いバージョンの IE をサポートするための線を引きたい場合は、次のようにします。

<script>

     if(ISOLDIE) {
          alert("Your browser currently does not support this feature. Please upgrade.");
          window.location = 'http://google.com/chrome';
     }

</script>

通常、IE8 のサポートを完全に削除することはお勧めできません。そのため、IE8 をサポートするように単純に作成できない Web サイトや Web アプリケーションのコンポーネントに追加できるため、上記のソリューションは適切な妥協案であると思います。 Web サイトの他の領域で IE8 を引き続きサポートできます (おそらく)。

于 2012-04-06T14:29:09.260 に答える
2

IE6以下のユーザーにブラウザのアップグレードを強制するこのオランダのWebサイトがあり、「If IE」コードを少し調整すると、好きなバージョンからブロックできます。

http://wijstoppenook.nl/nl/

ステップ 4 まで下にスクロールし、ダウンロードまたは「voorbeeld」をクリックしてデモを表示します。最初のバナーはトップ バナーで、2 番目のバナーはページを完全にブロックします。

唯一の欠点は、すべてオランダ語であるため、独自のメッセージを作成する必要があることです。

于 2012-04-06T14:32:50.413 に答える
0

多くの方法がありますが、これが最もエレガントです: http://outdatedbrowser.com/en/how

于 2017-08-29T03:30:42.180 に答える
0

サイトで、コードを index.html または index.php に追加します。

その作業も joomla と wordpress です。

<!--[if IE 5]>
<script language="Javascript">
<!--
alert ("It looks like you aren't using Internet Explorer 7. To see our site correctly, please update.")
//-->
</script>
<![endif]-->
<!--[if IE 5.0]>
!--
alert ("It looks like you aren't using Internet Explorer 7. To see our site correctly, please update.")
//-->
</script>
<![endif]-->
<!--[if IE 5.5]>
!--
alert ("It looks like you aren't using Internet Explorer 7. To see our site correctly, please update.")
//-->
</script>
<![endif]-->
<!--[if IE 6]>
!--
alert ("It looks like you aren't using Internet Explorer 7. To see our site correctly, please update.")
//-->
</script>
<![endif]-->

<!--[if IE 7]>
!--
alert ("It looks like you aren't using Internet Explorer 7. To see our site correctly, please update.")
//-->
</script>
<![endif]-->

<!--[if IE 8]>
!--
alert ("It looks like you aren't using Internet Explorer 8. To see our site correctly, please update.")
//-->
</script>
<![endif]-->
于 2014-10-31T13:44:23.270 に答える