【问题标题】:notify users that they need to stop using IE6通知用户他们需要停止使用 IE6
【发布时间】:2010-10-17 14:55:20
【问题描述】:

是否有任何 jQuery 插件或模板可以让人们停止在他们的网站上使用 IE6?
我最近看到一个非常突兀和冒犯的插件,它“警告”了 IE6 的邪恶用户。我正在寻找可以向他们的客户展示的东西。

【问题讨论】:

  • 并不是我不同意减少 IE6 或 IE 在网络上的使用,但有一些公司(很少)没有升级到 IE7 或更好的替代品。
  • 我同意。有些人被IE6卡住了。我正在构建一个小型的“个人”网页,因此我可以对我的受众更有选择性。
  • 在这一点上,我对这样的公司已经很少同情了。 IE7 是 2.5 年前发布的。是时候让他们摆脱集体的束缚并修复他们的 Intranet 应用程序了。
  • 如果这些公司占您目标受众的 97%,那么您将不得不迎合他们的意愿,不是吗?这就是如今成为 Web 开发人员的问题,世界其他地方并不关心你的想法
  • 我见过可以在 6 上运行但仍然无法在 7 上运行的站点。想象一下,如果您必须使用两个站点,一个不支持 7,另一个不支持6.

标签: javascript jquery internet-explorer-6


【解决方案1】:

只需添加一个只有 IE6 用户才能看到的 div。

<!--[if IE 6]>
<div>
  Using IE 6 will curve your spine, please upgrade your version
  of Internet Explorer or download Firefox, Opera, Safari or Chrome.
</div>
<![endif]-->

【讨论】:

  • 'lt'?当然应该是“lte”。
  • 是的,我搞砸了,要么上面的硬测试,要么
【解决方案2】:

请记住,由于大公司的 IT 部门,许多网络用户在使用 IE6 时“受阻”。

他们已经知道升级的必要性,而您的消息进一步加剧了他们的情绪。为什么让他们更痛苦?至少给一个温和的信息解释为什么你不能支持 IE6。

【讨论】:

  • 他们通常不受 IT 部门的阻碍,而是受到针对特定浏览器(如 IE)的技术要求的阻碍。
  • 实际上,许多更大的企业 IT 部门确实阻碍了这一进程。 +1
【解决方案3】:

您可以使用 CSS 自己编写代码。

在 HTML 中使用条件 cmets 来为 IE6 使用特定的样式表

<!--[if IE6]>  whatever  <![endif]--> 

或将消息放在一个层(div)中并使其仅对 IE6 可见:

display: none !important;
*display: block;

【讨论】:

    【解决方案4】:

    我个人发现任何类型的消息告诉我使用特定的浏览器既傲慢又是开发人员/设计师懒惰的表现。

    我的理由是,如果 能够以某种方式进行兼容的跨浏览器设计,为什么其他人不能呢?当您考虑作为 javascript 库或 JQuery 插件存在的“浏览器规范化器”时,它变得更加微不足道,它们基本上消除了细微的差异。

    这是good example 我的意思。

    【讨论】:

    • 再次,我同意,如果用户是我工作的客户,我永远不会告诉他们使用某个浏览器。另一方面,当我免费和有趣地制作网站时,我绝对可以告诉任何人任何事情。我决定不支持 IE6,因为支持它很无聊。
    • 但是,您可以使用基本的、非功能齐全但工作的版本来支持 IE6,并告诉用户使用更好的浏览器他们会获得更好的体验。很多 IE6 用户不知道还有更好的选择(不是自大,只是实事求是)
    • 实际上,我们经常告诉用户他们应该使用什么浏览器并且他们理解为什么。我们没有习惯在很久以前就应该更换的浏览器上浪费时间进行测试。奇怪的是,我们也不支持在 Windows 3.1 上运行我们的软件 :-)
    • 为了 IE 兼容性,需要遵循一组固定的规则。这些规则中的大多数都是诸如“明确指定标题大小”之类的东西。让 IE 看​​起来和行为相同并不需要任何额外的努力。并且它接受 IE6 可能有降级的体验,但你应该优雅地降级。
    • IE6 会给开发者带来各种噩梦,而不仅仅是可预见的显示差异。我在实时可视化上花费了大量时间,我不得不为 IE6 编写大量额外代码。
    【解决方案5】:

    这个怎么样?在页面顶部放置一个礼貌的通知栏。 (礼貌think2loud,请参阅此链接以获取完整的源代码、示例、css 等)。

    function badBrowser(){
        if($.browser.msie && parseInt($.browser.version) <= 6){ return true;}
    
        return false;
    }
    
    function getBadBrowser(c_name)
    {
        if (document.cookie.length>0)
        {
        c_start=document.cookie.indexOf(c_name + "=");
        if (c_start!=-1)
            { 
            c_start=c_start + c_name.length+1; 
            c_end=document.cookie.indexOf(";",c_start);
            if (c_end==-1) c_end=document.cookie.length;
            return unescape(document.cookie.substring(c_start,c_end));
            } 
        }
        return "";
    }   
    
    function setBadBrowser(c_name,value,expiredays)
    {
        var exdate=new Date();
        exdate.setDate(exdate.getDate()+expiredays);
        document.cookie=c_name+ "=" +escape(value) + ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
    }
    
    if(badBrowser() && getBadBrowser('browserWarning') != 'seen' ){
        $(function(){
            $("<div id='browserWarning'>You are using an unsupported browser. Please switch to <a href='http://getfirefox.com'>FireFox</a>, <a href='http://www.opera.com/download/'>Opera</a>, <a href='http://www.apple.com/safari/'>Safari</a> or <a href='http://www.microsoft.com/windows/downloads/ie/getitnow.mspx'>Internet Explorer 7</a>. Thanks!&nbsp;&nbsp;&nbsp;[<a href='#' id='warningClose'>close</a>] </div> ")
                .css({
                    backgroundColor: '#fcfdde',
                    'width': '100%',
                    'border-top': 'solid 1px #000',
                    'border-bottom': 'solid 1px #000',
                    'text-align': 'center',
                    padding:'5px 0px 5px 0px'
                })
                .prependTo("body");
    
            $('#warningClose').click(function(){
                setBadBrowser('browserWarning','seen');
                $('#browserWarning').slideUp('slow');
                return false;
            });
        }); 
    }
    

    【讨论】:

    • 这样的代码真的让我很烦。剪切返回 true/false 并返回 ($.browser.msie && parseInt($.browser.version)
    • 这样的代码把我吓坏了。当作者不知道布尔值如何工作时,这是好的代码吗?当我看到这样的事情时,我往往对代码的整体质量不太信任
    猜你喜欢
    • 1970-01-01
    • 2018-06-19
    • 1970-01-01
    • 2017-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-30
    • 2011-04-19
    相关资源
    最近更新 更多