Javascript 如何检测IE8并显示页面或警报

Javascript 如何检测IE8并显示页面或警报,javascript,jquery,html,internet-explorer-8,jekyll,Javascript,Jquery,Html,Internet Explorer 8,Jekyll,我有一个网站是用杰基尔建立的。它在IE8中无法正确呈现,因此,我想找到一种方法来检测他们是否正在使用IE8并显示适当的页面/警报 我有一个检测浏览器并替换显示页面的功能: "use strict"; define([], function () { function ieVersion() { var myNav = navigator.userAgent.toLowerCase(); return (myNav.indexOf('msie') != -1

我有一个网站是用杰基尔建立的。它在IE8中无法正确呈现,因此,我想找到一种方法来检测他们是否正在使用IE8并显示适当的页面/警报

我有一个检测浏览器并替换显示页面的功能:

"use strict";
define([], function () {
    function ieVersion() {
        var myNav = navigator.userAgent.toLowerCase();
        return (myNav.indexOf('msie') != -1) ? parseInt(myNav.split('msie')[1]) : -1;
    }
    var v = ieVersion();
    if (ieVersion() > -1) {
        document.location.replace("ie8.html");
    }
});
我在头标签中称之为:

<!DOCTYPE html>
<html class='no-js' lang='en'>
    <head>
      <meta charset="utf-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
      <title>{{ page.title }}</title>
      <meta content='width=device-width, initial-scale=1.0' name='viewport'>
      <link href='http://fonts.googleapis.com/css?family=PT+Sans:400,700,400italic,700italic|Droid+Serif:400,700,400italic,700italic' rel='stylesheet' type='text/css'>
      <link href='{{ site.url }}/css/framework.css' rel='stylesheet'>
      <link href='{{ site.url }}/css/syntax.css' rel='stylesheet'>
      <link href='{{ site.url }}/css/style.css' rel='stylesheet'>
      <link href='{{ site.url }}/css/fontello.css' rel='stylesheet'>

      <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
      <script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
      <script src='{{ site.url }}/js/IE.js'></script>
      <script src='{{ site.url }}/js/modernizr.js'></script>

    </head>

如果您的页面在IE8中显示不好,那么您需要通过添加额外的css属性来纠正css中受干扰的元素

使用下面的代码为IE8添加新的css文件

<!--[if IE 8]>
  <link rel="stylesheet" type="text/css" href="styles/ie8.css" />
<![endif]-->


在这个文件中,您可以编写css来生成正确的受干扰元素。

如果您的页面在IE8中显示不好,那么您需要通过添加额外的css属性来更正受干扰元素的css

使用下面的代码为IE8添加新的css文件

<!--[if IE 8]>
  <link rel="stylesheet" type="text/css" href="styles/ie8.css" />
<![endif]-->


在这个文件中,您可以编写css来生成正确的受干扰元素。

当小于ie8时加载js

    <!--[if lt IE 9 ]> -->
    <script src='{{ site.url }}/js/IE8.js'></script> 
    <!-- <![endif]--> 

Load js when greater then ie8 and other browser

    <!--[if (gt IE 8)|!(IE) ]> -->   
        <script src='{{ site.url }}/js/IE.js'></script> 
    <!--<![endif]-->

当大于ie8和其他浏览器时加载js

现在,在IE8.js中,您可以使代码发出警报或替换html。

当小于IE8时加载js

    <!--[if lt IE 9 ]> -->
    <script src='{{ site.url }}/js/IE8.js'></script> 
    <!-- <![endif]--> 

Load js when greater then ie8 and other browser

    <!--[if (gt IE 8)|!(IE) ]> -->   
        <script src='{{ site.url }}/js/IE.js'></script> 
    <!--<![endif]-->

当大于ie8和其他浏览器时加载js
现在,在IE8.js中,您可以使代码发出警报或替换html。

尝试以下操作:

jReject是一个简单、轻量级的库,用于显示基于浏览器、特定浏览器版本、特定平台或渲染引擎的弹出窗口。提供弹出窗口的完全自定义。使用一个小的CSS文件,可以轻松地在页面加载或特定页面事件期间使用。还提供了一种灵活的方式,可以在弹出窗口中漂亮、干净地显示自定义浏览器选项。

尝试以下方法:


jReject是一个简单、轻量级的库,用于显示基于浏览器、特定浏览器版本、特定平台或渲染引擎的弹出窗口。提供弹出窗口的完全自定义。使用一个小的CSS文件,可以轻松地在页面加载或特定页面事件期间使用。还提供了一种灵活的方式,可以在弹出窗口中漂亮、干净地显示自定义浏览器选项。

或者,您可以使用以下选项:

if(IE10orBelow()<9){
警惕(“该死的!”);
}否则{
document.body.innerHTML=“您很安全”;
}
函数IE10orBelow(){
var ua=window.navigator.userAgent;
var msie=ua.indexOf('msie');
如果(msie>0){
//IE 10或更早版本=>返回版本号
返回parseInt(ua.substring(msie+5,ua.indexOf('.',msie)),10);
}

}
或者,您可以使用:

if(IE10orBelow()<9){
警惕(“该死的!”);
}否则{
document.body.innerHTML=“您很安全”;
}
函数IE10orBelow(){
var ua=window.navigator.userAgent;
var msie=ua.indexOf('msie');
如果(msie>0){
//IE 10或更早版本=>返回版本号
返回parseInt(ua.substring(msie+5,ua.indexOf('.',msie)),10);
}

}
可能重复microsoft不再支持ie8时为什么支持ie8的可能重复-请检查并确认。仍然有一些用户在使用IE8。由于每个用户或客户都是有价值的,许多网站所有者不想失去他们。所以他们也试图让网站保持IE的最新状态。你的统计数据已经过时了,他们在浏览器支持被取消之前就显示了使用情况——它甚至没有在一月份进入前十名:是的,但我们永远不知道有多少IE用户更新了他们的Windows版本。可能有人使用XP等旧版本的Windows。一些国家的许多政府部门仍然使用默认IE8的Windows7,并且更新被禁用,这些用户中的大多数都不懂技术,不知道为什么IE8及以下的浏览器一文不值,我知道有几个人仍然在使用Windows XP,为什么微软不再支持ie8了?请检查并确认。仍然有一些用户在使用IE8。由于每个用户或客户都是有价值的,许多网站所有者不想失去他们。所以他们也试图让网站保持IE的最新状态。你的统计数据已经过时了,他们在浏览器支持被取消之前就显示了使用情况——它甚至没有在一月份进入前十名:是的,但我们永远不知道有多少IE用户更新了他们的Windows版本。可能有人使用XP等旧版本的Windows。一些国家的许多政府部门仍然使用默认IE8的Windows7,并且更新被禁用,这些用户中的大多数都不懂技术,不知道为什么IE8及以下浏览器一文不值,我知道有几个人仍在使用Windows XPHi Chintan,我已经在网站上添加了顶行,但由于某些原因,当它在IE 8Hi中打开时,它仍然没有任何作用。大卫,我已经在我的回答中进行了更正。请试试这个新的。这肯定会奏效。我在本地尝试过。嗨,Chintan,我已经在网站上添加了顶行,但由于某些原因,当它在IE 8Hi中打开时,它仍然没有任何作用。大卫,我已经在我的回答中进行了更正。请试试这个新的。这肯定会奏效。我在当地试过了,中间人。。。这对IE8有用吗?我注意到它需要jQuery1.7Yep,在选项中您可以指定'msie:8'以查看更多细节。是的,它需要jQuery1.7+注意:我还没有签入IE8。但我用它来拒绝我项目中的所有IE浏览器。真是太棒了,中间站。。。这对IE8有用吗?我注意到它需要jQuery1.7Yep,在选项中您可以指定'msie:8'以查看更多细节。是的,它需要jQuery1.7+注意:我还没有签入IE8。但我用它来拒绝我项目中的所有IE浏览器。它工作得很好。