2012-02-14 18 views
0

私の質問は:エクスプレスjを使用して作成したサーバーを使用しているときにブラウザがインターネットエクスプローラであれば、別のサイトにリダイレクトするにはどうすればいいですか?まず、どのブラウザーを使用しているかを知る必要があります。BrowserDetectはノードjsでは動作しません。次に、どのようにリダイレクトするかを知りたいと思います。エクスプレスjsリダイレクトfor IE

答えて

1

これは動作するはずです:

var ieRedirecter = function(req, res, next) { 
    if(req.headers['user-agent'].indexOf("MSIE") >= 0) 
    res.redirect("http://example.com/"); 
    else 
    next(); 
}; 

あなたは急行のミドルウェアとして、またはルートのいずれかでそれを使用することができます。

1

は独立Express.jsの、あなたはHTMLタグと条件付きコメントで、このすべてのクライアント側の操作を行うことができます

ユーザーエージェント文字列と、そのような使用してブラウザを検出する他の方法がありますが、
<!--[if IE ]> 
    <meta http-equiv="refresh" content="0; url=http://getridofIE.com/"> 
<![endif]--> 

、これはかなりシンプルで効果的です。その他のオプション、from the mouth of Microsoft itself。この解決策では完全であるが役に立たないため、res.redirect('http://www.whatever.com');を使用してExpress.jsにリダイレクトすることができます(デフォルトでは302の応答ステータスが発行されるか、2番目の引数として1を指定できます)。

関連する問題