我创建了基于Extjs 4.2的JavaScript webapp。这个框架的很多功能在IE8下无法正常工作(而且我不知道以前版本的结果)。我正在寻找更干净的方式来阻止使用像IE8这样的用户代理访问我的网络应用,或者从显示消息的方式来阻止访问,并避免登录到Web应用。如何阻止从IE8或更低版本访问网站?
ANYTYPE的帮助是有用的
我创建了基于Extjs 4.2的JavaScript webapp。这个框架的很多功能在IE8下无法正常工作(而且我不知道以前版本的结果)。我正在寻找更干净的方式来阻止使用像IE8这样的用户代理访问我的网络应用,或者从显示消息的方式来阻止访问,并避免登录到Web应用。如何阻止从IE8或更低版本访问网站?
ANYTYPE的帮助是有用的
if(! Ext.isIE6 || ! Ext.isIE7) {
yourapp.init();
} else {
//show the element that directs people to http://browsehappy.com/
}
可能它是最简单也是最有效的方法。 感谢您的回答。 – AfanfeFana
我不会阻止访问,我会显示一个消息,说在这个应用程序功能可能无法正常工作。拒绝访问是不好的。如果你想轻松IE8检测结账Conditionizr和IE8 detect(我创造了它):
/*!
* IE8
* @cc_on Conditional Compilation to test the
* JavaScript versions
*/
conditionizr.add('ie8', [], function() {
var version = false;
/*@cc_on if (@_jscript_version > 5.7 && !/^(9|10)/.test(@_jscript_version))
version = true @*/
return version;
});
这给了你:
if (conditionizr.ie8) {
// stuff for ie8
}
conditionizr.on('ie8', function() {
// callbacks
});
另外,您可以加载polyfills /其他资产。也许你可以为非IE8加载Ext.js,这样应用程序不会中断,它不会代替。
随着Conditionizr可以忽略浏览器也使用!
:
conditionizr.on('!ie8'[, callback]);
只需使用的IE's conditional statements一个你的标记内:本文所载的<!--[if lte IE 8]>
块内
<html>
...
<body>
<!--[if lte IE 8]>
<p>Notice: As you are using an old browser some features of this
web app may not work for you. Please update.</p>
<![endif]-->
...
</body>
</html>
任何目标的Internet Explorer的任何版本小于或等于IE8。
使用条件语句来显示警告,告诉用户该网站将无法正常使用该浏览器,请不要完全阻止它们。 – adeneo