如何将IE11重定向到其他网站

时间:2014-06-17 19:11:30

标签: javascript jquery html internet-explorer redirect

我有疑问。

我必须将IE用户重定向到其他网站,从IE6到IE9这个代码工作得非常好。

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

此代码对IE 10非常有用

<script type="text/javascript">if (navigator.appName == 'Microsoft Internet Explorer'){self.location = "google.com"}</script>

但是我无法找到IE11的任何解决方案 - 在这个浏览器中我的网站没有重定向。

我真的在搜索更多时间这个解决方案,但我无法找到任何想法。

也许您知道如何只编写一个脚本来将所有IE浏览器重定向到其他网站?

非常感谢!

3 个答案:

答案 0 :(得分:6)

根据您的意见,浏览器检测不是可行的方法。

相反,请使用特征检测。在这种情况下:

var test = document.createElement('video');
if( !test.canPlayType) { /* HTML5 video not supported at all */ }
else if( !test.canPlayType("video/whatever")) {
    // replace "whatever" with the correct MIME type
    // if that type is not supported, do something here
}
else { /* you're all good? */ }

答案 1 :(得分:2)

请不要这样做。

众所周知,浏览器检测非常不可靠,根本不是未来的证据 正如您首先遇到此问题所证明的那样。

相反,检测浏览器功能并根据这些功能提供所需的功能。

查看以下资源:


如果您 执行此操作,则可以使用以下任何一种方法:

例如:

if (!!navigator.userAgent.match(/Trident.*rv\:11\./)) {self.location = "google.com"}

答案 2 :(得分:0)

回应法拉利粉丝的观点......你将IE用户放在不同网站上的许多旧理由都不再有效。

无论如何,根据我的经验,随着IE11最近的变化,更可靠的浏览器嗅探方法是检查&#34; Trident&#34; navigator.userAgent中的版本,而不是IE版本。我的是:

Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR
3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; rv:11.0) like Gecko

此处列为7.0,与IE11一起首播。 6或更低版本将是其他版本。请记住,IE的发布周期可能会像其他浏览器一样变快,因此您的网站可以处理&#34; Trident / 10.0&#34; (IE 14)不久之后 - 确保你的模式匹配说明了这一点。