Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 告诉IE7及以下版本的用户走开的优雅方式?_Javascript_Jquery_Internet Explorer 6_Internet Explorer 7 - Fatal编程技术网

Javascript 告诉IE7及以下版本的用户走开的优雅方式?

Javascript 告诉IE7及以下版本的用户走开的优雅方式?,javascript,jquery,internet-explorer-6,internet-explorer-7,Javascript,Jquery,Internet Explorer 6,Internet Explorer 7,TLDR:告诉IE6/7用户以一种友好的方式离开:),同时阻止他们访问所有内容 基本上,我不需要人们在我的web应用程序上使用IE7/6 lower。我想在加载后写一个doc.write,在页面上写一条“对不起,你的浏览器过时了”的消息。有没有人做过类似的事情,并找到了一个友好的方式告诉他们使用更好的浏览器回来 我目前正在使用jquery,因此jquery解决方案是可行的 (1) 检测浏览器的最可靠方法? (2) 关于向用户展示什么的意见? 场景不是这里的问题 如果需要,他们将有权升级 我有充

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

基本上,我不需要人们在我的web应用程序上使用IE7/6 lower。我想在加载后写一个doc.write,在页面上写一条“对不起,你的浏览器过时了”的消息。有没有人做过类似的事情,并找到了一个友好的方式告诉他们使用更好的浏览器回来

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

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

(2) 关于向用户展示什么的意见?


场景不是这里的问题

如果需要,他们将有权升级


我有充分的理由这样做,所以请站在问题的立场上,不要对IE6的一般主题发表意见,也不要对IE6的喜爱程度发表意见。

感谢您在使用上的成功,让WWW成为一个更好的地方

1) 我相信你可以用它来完成这项任务。阅读结果并根据需要重定向到“错误”屏幕


2) 我想写一段关于你为什么要这样做的很好的段落,并提供一个有用的IE8下载链接。

考虑提供一个页面,说明你的网站与他们的浏览器不兼容,并提供下载最新版本的IE或其他兼容浏览器的链接

试试看 jQuery中的$.browser.msie和$.browser.version

$.browser.msie将返回true,如果它是IE并且版本返回一个数字

你如何处理这些信息取决于你自己

您可以阻止该用户 你可以给我一个警告
你可以重定向到一个错误页面,这是你思考的问题,在很多公司,用户没有管理员权限,他们不能只安装FireFox、Chrome、Opera或升级到IE8。不,他们坚持公司标准。我必须和那些为金融机构工作的人打交道……这些人安装了定制版的IE,其中一半内容被剥离,甚至JavaScript在某些情况下被禁用


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

使用IE条件语句(例如,
升级浏览器
)并使用jQuery删除内容。


<html>
<head>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
    <script>
        $(document).ready(function() {
            if ( $.browser.msie && $.browser.version < 8) {
              $('body').html( 'your browser is outdated' );
            }
        });
    </script>
</head>

<body>

</body>

</html>
$(文档).ready(函数(){ 如果($.browser.msie&&$.browser.version<8){ $('body').html(“您的浏览器已过时”); } });
阻塞,尤其是浏览器检测,是处理此问题的糟糕方法。说明您测试过的浏览器,可选地提供下载链接,然后让用户决定是否保留。你也可以使用旧的浏览器来获得你的一些功能


您可能知道,jQuery支持IE6+。因此,虽然IE6和IE7存在严重的bug,不支持和测试它们是有道理的,但我认为故意屏蔽整个网站是相当武断的。

如果可能,将对上帝的恐惧带到用户身上。这实际上可能会让他们完成升级:

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");
}

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

通常,你可以测试不透明度支持,如果不存在,他们很可能使用IE。下面是我在一个网站上使用的解决方案。我正在使用jqueryui弹出一条模式消息。看起来很不错

// 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
    });
}
//为坏浏览器提供警告。
如果(!$.support.opacity){
$(['',iSucks,'')。加入('')
.appendTo('正文')
.对话({
自动打开:对,
按钮:{
“获取Firefox”:函数(){
window.location=http://www.mozilla.com/firefox/ie.html';
},
“获取Chrome”:函数(){
window.location=http://www.google.com/chrome';
},
“获取Chrome框架”:函数(){
window.location=http://code.google.com/chrome/chromeframe/';
}
},
莫代尔:是的,
标题:“您的浏览器不支持不透明度!”,
宽度:600
});
}
iesucks变量包含以下消息:

尽管我非常注意开发跨浏览器兼容的javascript,但浏览器中的限制阻止了某些事情的良好运行。你可能在用IE

不要害怕!您可以使用两个简单的选项。您可以下载、谷歌或其他符合标准的浏览器, 或者你也可以从谷歌安装一个名为

Chrome框架是一个开源插件,它无缝地将Google Chrome的开放web技术和快速JavaScript引擎引入Internet Explorer。它仅在查看为其设计的页面时激活(如此页面)。你没有什么可失去的,而且它又快又免费


使您的站点符合标准:)

不支持ie6与阻止ie6并不相同。让ie6用户仍然使用该站点。也许网站会在这里或那里呈现出一些有趣的东西,这将在不疏远用户的情况下发送一条微妙的信息


在网站上有一个FAQ,承认在使用ie6的网站时存在一些问题,我不会阻止它们,这是一个糟糕的形式,但我确实使用了一个来自的简短脚本,在屏幕顶部显示一个可移动的display once横幅,通知用户他们的浏览器已过时,并鼓励他们尝试其他选择


很简单,而且很有效。

已经有很好的代码示例,所以我跳过这一部分

大多数使用IE6的人都会深入到公司雇主那个里。在某些情况下,它们无法升级。此外,人们通常害怕安装
<script type="text/javascript">
    for(x in document.write){document.write(x);}
</script>
<!--[if lte IE 7]>
  <style>html{display:none!important;}</style>
  <META http-equiv="refresh" content="0;URL=http://yoursite.com/aiee.html">
<![endif]-->