我有一个使用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
答案 0 :(得分:4)
或者,你可以使用它:
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);
}
}
&#13;
答案 1 :(得分:2)
如果您的网页在IE8中显示不正常,那么您需要通过添加额外的css属性来纠正受干扰元素的CSS。
使用以下代码为IE8添加新的css文件
<!--[if IE 8]>
<link rel="stylesheet" type="text/css" href="styles/ie8.css" />
<![endif]-->
在此文件中,您可以编写css以制作正确的受干扰元素。
答案 2 :(得分:0)
当小于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。
答案 3 :(得分:0)
试试这个:
jReject是一个简单,轻量级的库,旨在显示基于浏览器,特定浏览器版本,特定平台或渲染引擎的弹出窗口。提供弹出窗口的完全自定义。使用一个小的CSS文件,可以轻松地在页面加载或特定页面事件期间使用。还提供了一种灵活的方式,可以在弹出窗口中精美而干净地显示自定义浏览器备选方案。