优雅的方式告诉IE7及以下用户消失?

Sph*_*hvn 18 javascript jquery internet-explorer-7 internet-explorer-6

TLDR:告诉IE6/7用户以一种不错的方式离开:)同时阻止他们访问所有内容.

基本上我并不需要使用IE7/6下我的web应用程序的人.正在考虑在加载后进行doc.write擦除页面上的消息"抱歉你的浏览器已经过时"有人做过类似的事情并找到了一个友善的方式来告诉他们用更好的浏览器回来吗?

我目前正在使用jquery,因此jquery解决方案可行.

(1)最可靠的方法来检测浏览器?

(2)对用户提供什么的意见?


SCENARIO不是问题

如果需要,他们可以升级!

我有合理的理由这样做,所以保持ontopic的问题,不要发表关于IE6的一般主题的意见和你有多喜欢它.

kar*_*m79 25

如果可能的话,把对上帝的敬畏放在你的用户身上.这可能实际上让他们通过升级:

if ($.browser.msie && parseInt($.browser.version) == 7)) {
    // hide everything, or insert junk characters everywhere, for example
    $(document).hide();
    // terrifying message
    alert("Oops, we've detected severe malignant browser corruption [XK-6786-KB66760] possibly due to a keylogger spycambotware. Kindly upgrade your IE installation. See microsoft.com for details");
}
Run Code Online (Sandbox Code Playgroud)

  • *keylogger spycambotware*?+1! (17认同)
  • 像警告消息:) (3认同)

Ger*_*der 20

使用IE条件语句(例如<![if lte IE 7]>Upgrade your browser<![endif]>)并使用jQuery删除内容.

  • 我也支持IE条件方法:基本上,将IE的非标准扩展转向自身.这就是我与之合作的网站开发人员如何处理一个不能在IE6上运行的网站(客户端并不关心付费以使其工作) (5认同)
  • 此外,如果你的应用程序需要javascript工作,使主体`display:none`并只是通过jQuery删除它. (3认同)

SQL*_*ace 15

这是您的想法问题,在很多公司用户没有管理员权限,他们不能只安装FireFox或Chrome或Opera或升级到IE8.不,他们坚持任何企业标准.我必须与那些为金融机构工作的人打交道...那些人安装了IE的自定义版本,其中一半的东西被剥夺了,甚至在某些情况下禁用了JavaScript

这也是IE6不会很快死亡的原因

  • 好点,但根本没有回答这个问题.如果他想拒绝一大堆用户......对他来说很酷. (19认同)
  • -1你必须要处理的是完全不相关的.**Thqr**明确表示他**想要处理的人,以及如何做到这一点. (7认同)
  • 嘿,如果你不能使用该应用程序,你不能使用该应用程序.我没有iPhone,但你没有看到我试图破解我的诺基亚像iPhone一样工作.让那家伙做他认为合适的事 (3认同)
  • 您将拥有给定的管理员权限.情景不是问题. (2认同)

Ste*_*hen 9

您应该阻止拥有缺少所需功能的浏览器的用户,而不是嗅探浏览器.这将帮助您确保无论他们使用什么浏览器,如果功能不受支持,他们将收到消息.jQuery可以为你做到这一点.

通常,您可以测试不透明度支持,如果不存在,则很可能使用IE.这是我在其中一个网站上使用的解决方案.我正在使用jQuery UI弹出模态消息.看起来很不错.

// Provide warning for bad browsers.
if (!$.support.opacity) {
    $(['<div id="no-opacity-warning">', iesucks,'</div>'].join(''))
    .appendTo('body')
    .dialog({
        autoOpen : true,
        buttons : {
            "Get Firefox" : function() {
                window.location = 'http://www.mozilla.com/firefox/ie.html';
            },
            "Get Chrome" : function() {
                window.location = 'http://www.google.com/chrome';
            },
            "Get Chrome Frame" : function() {
                window.location = 'http://code.google.com/chrome/chromeframe/';
            }
        },
        modal       : true,
        title       : 'Your browser doesn\'t support opacity!',
        width       : 600
    });
}
Run Code Online (Sandbox Code Playgroud)

iesucks变量包含以下消息:

虽然我已经非常谨慎地开发了跨浏览器兼容的javascript,但浏览器中的限制会阻止某些事情表现良好.你可能正在使用IE浏览器.

不要害怕!有两种简单的选项可供选择.您可以下载Firefox,Google的Chrome或其他符合标准的浏览器,也可以安装Google快速轻松的插件,称为Google Chrome Frame.

Chrome Frame是一个开源插件,可将Google Chrome的开放式网络技术和快速JavaScript引擎无缝地引入Internet Explorer.它仅在查看为其设计的页面时激活(如此).你没有什么可失去的,它是快速而自由的.

  • 'iesucks`变量+1 .-很棒的名字;) (3认同)

Dav*_*kle 6

感谢您使用它并使WWW成为更好的地方.

1)我相信你可以使用jquery.browser来实现这一目标.阅读结果并根据需要重定向到"错误"屏幕.

2)我会提出一个很好的段落,说明你为什么这样做以及IE8下载的有用链接.

  • 我们也需要找到一种通过键盘引起轻微电击的方法. (6认同)
  • 具有讽刺意味的是jQuery网站告诉jQuery浏览器它不受支持.... (4认同)
  • 将一个小错误转变为一个巨大的突然显示停止错误的过程. (3认同)