我创建了一个基于Extjs 4.2的javascript webapp。这个框架的很多功能与IE8无法正常工作(我不知道以前版本的结果)。我正在搜索更干净的方式来阻止我使用IE8等用户代理访问我的网络应用程序,或者更少显示消息并避免登录到webapp。
任何类型的帮助都很有用
答案 0 :(得分:1)
我不会阻止访问,我会显示一条消息,指出此应用程序中的功能可能无法正常运行。拒绝访问是不好的。如果你想轻松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]);
答案 1 :(得分:1)
if( ! Ext.isIE6 || ! Ext.isIE7 ) {
yourapp.init();
} else {
//show the element that directs people to http://browsehappy.com/
}
答案 2 :(得分:0)
只需在标记中使用IE's conditional statements之一:
<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>
此处<!--[if lte IE 8]>
块中包含的任何内容都会针对小于或等于IE8的任何版本的Internet Explorer。