0

HTAccessまたはJavascriptのいずれかを使用してリダイレクトするためにIE以外のすべてのブラウザを検出する方法はありますか?IEでない場合は、site.comにリダイレクトしますか?

4

4 に答える 4

2
var ie = /msie/i.test(navigator.userAgent);
if (!ie) { location.href = 'http://site.com'; }
于 2012-10-02T04:52:13.917 に答える
2

リダイレクト コードが IE によって解釈されないことを意味するため、むしろIE の条件付きコメントを使用することをお勧めします。つまり、IEは JS コードをまったく実行せず、他のブラウザのみが実行します。

JS を使用したリダイレクト

<!--[if !IE]> -->
    <script>
    window.location.href = 'http://not-ie.com'
    </script>
<!-- <![endif]-->

メタリフレッシュを使用したリダイレクト

<!--[if !IE]> -->
    <meta http-equiv="refresh" content="5;url=http://not-ie.com/"> 
<!-- <![endif]-->

リダイレクト前にページを表示しないテクニック

<body>これを行うには、タグを条件付きでレンダリングします。免責事項:これはテストしていません。

<!-- for non-ie browsers, render the body tag as invisible -->
<!--[if !IE]> -->
    <meta http-equiv="refresh" content="5;url=http://not-ie.com/"> 
    <body style="display: none">
<!-- <![endif]-->

<!-- for ie, render the body tag normally -->
<!--[if IE]> -->
    <body>
<!-- <![endif]-->

<!-- your page content HTML goes here -->

</body></html>

条件付きコメントの詳細については、http : //www.quirksmode.org/css/condcom.html を参照してください。

于 2012-10-02T04:56:15.107 に答える
0

前の回答で説明した条件付きコメントを使用したメソッドが IE10 では機能しないことを理解していますか? IE10 は条件付きコメントをサポートしておらず、まもなくリリースされます。

したがって、コードを実際に機能させるには、機能検出または userAgent のいずれかに依存してください。しかし、多くのプラグインがある場合、userAgent も失敗することがあるため、実際には「Internet Explorer」または「MSIE」がカットされることがあります。

検出の信頼性を高めるために、少し機能スニッフィングを追加します。

if ('\v'=='v' || /msie/i.test(navigator.userAgent);) {
  // ah that's you IE!
} 

もういい。

于 2012-10-02T06:31:09.870 に答える
0

できるよ:

<!--[if IE 6]><script>location.href='youhazie6.htm';</script><![endif]-->
于 2012-10-02T04:55:59.977 に答える