繁体   English   中英

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

[英]How to detect IE8 and display a page or alert

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

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

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

我在HEAD标签中称呼它:

<!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中将其打开,但出现错误消息:

'$' is undefined 
IE.js

或者,您可以使用以下方法:

 if (IE10orBelow() < 9) { alert('damn!'); }else{ document.body.innerHTML = "you're safe"; } function IE10orBelow() { var ua = window.navigator.userAgent; var msie = ua.indexOf('MSIE '); if (msie > 0) { // IE 10 or older => return version number return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10); } } 

如果您的页面在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中,您可以创建代码来警告或替换html。

尝试这个:

http://jreject.turnwheel.com/

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM