以下是我ie8踩得坑,总结了一下,以免以后会遇到,虽然有的度娘也能搜到但是偶尔看看自己的文章也能学到很多(后续如有添加继续补上)

1,ie8 input框建议不要使用line-height去撑高度,在ie下并不会实现文字垂直居中,用padding值去撑开

2,ie8浏览器对特殊字符解析,(解决方法是用base64转码,有封装好的函数,base64encode(utf16to8(filename))和base64_decode();)如果是url建议使用encodeURI(需注意的是使用encodeURI传码的时候需要传两次,否则不生效,后台URLDecoder () )

3,ie8浏览器有时会出现空白页(是因为页面有不符合的注释还有有的标签在写的时候木有闭合)

4,

自我遇见的问题,ie8下foreach不兼容导致乱码

if (typeof Array.prototype.forEach != 'function') {
Array.prototype.forEach = function(callback){
for (var i = 0; i < this.length; i++){
callback.apply(this, [this[i], i, this]);
}
};
}

5,Bind不兼容

(function(){
if (!Function.prototype.bind) {
Function.prototype.bind = function (oThis) {
if (typeof this !== "function") {
throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");
}
var aArgs = Array.prototype.slice.call(arguments, 1),//数组对象转数组
fToBind = this,
fNOP = function () {},
fBound = function () {
return fToBind.apply(this instanceof fNOP && oThis
? this
: oThis,//用来测试一个对象在原型链中是否存在构造函数的prototype属性
aArgs.concat(Array.prototype.slice.call(arguments)));//类数组对象
};
fNOP.prototype = this.prototype;
fBound.prototype = new fNOP();
return fBound;
};
}
}())

6,eval函数不支持特殊符号,如:eval(‘langZh.’+text);

7,function参数不能为表达式,如:function(flag=0)

8,box-shadow兼容IE8写法,使用filter滤镜属性实

-moz-box-shadow:3px 5px 5px #969696;
-webkit-box-shadow:3px 5px 5px #969696;
box-shadow:3px 5px 5px #969696;
filter: progid:DXImageTransform.Microsoft.Shadow(color='#cccccc',Direction=180, Strength=3);
 
//说明: direction是阴影方位(角度),strength是阴影大小(半径),单位为度,可以为负数,color是阴影颜色 (尽量使用数字)

9,使IE8浏览器支持背景半透明写法,使用filter滤镜属性实现

background: rgba(0,0,0,0.3);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4c000000,endColorstr=#4c000000);

10,使用IE8浏览器支持背景图片半透明opacity,使用filter滤镜属性实现

filter: alpha(opacity=100);
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
opacity: 1;

 
11,IE8浏览器不支持数组的indexof()方法
// 添加数组IndexOf方法
if(!Array.prototype.indexOf){
Array.prototype.indexOf=function(elt/*,from*/){
varlen=this.length>>>0;
varfrom=Number(arguments[1])||0;
from=(from<0)
?Math.ceil(from)
:Math.floor(from);
if(from<0)
from+=len;
for(;from<len;from++){
if(frominthis&&this[from]===elt)
returnfrom;
}
return-1;
};
}
12,不规则注释导致页面在ie、360、谷歌浏览器上不能正常显示
例如:<!--的德的-->
13,

html标签的拼写一定要正确并且标签一定要用一些常用的标签,不要自己随意编写,如<up></up>是错误的标签,spn,spam,不符合规范的都会报错,此问题出现的最多,必须要规范标签写法

  • 标签正确且常用
  • 标签成对
  • div嵌套要规范,嵌套层数太多时考虑有没有必要,尽量层数清晰。

换工作之后需要兼容ie8的我的更多相关文章

  1. 前端页面兼容ie8解决方法

    一.通用兼容文件的引用: 1.HTML5标签兼容方案:html5shiv.js GitHub地址:https://github.com/aFarkas/html5shiv/ IE8不支持HTML5的新 ...

  2. 兼容IE8

    由于IE8不支持HTML5,而它又是Win7的默认浏览器,我们即使讨厌它,在这几年却也拿它没办法. 最近做了个需要兼容IE8的项目,不可避免地用了HTML5+CSS3,甚至canvas和svg,做兼容 ...

  3. 兼容IE8以下浏览器input表单属性placeholder不能智能提示功能

    当前很多表单提示使用了表单属性placeholder,可这属性不兼容IE8以下的浏览器,我自己写了一个兼容处理js // 兼容IE8以下浏览器input不能智能提示功能 if(navigator.ap ...

  4. 如何使用videojs兼容IE8浏览器

    需要在服务器下运行 首先我们需要下载videojs包 https://github.com/videojs/video.js/releases 这里简单写了一个小栗子 <!DOCTYPE htm ...

  5. jQuery validate兼容IE8写法

    最近做项目的时候遇到一个validate插件在IE8下面点击submit按钮没有执行检查的BUG 在chrome和FF,还有IE9以上都可以.百度了好多文章都没有找到解决方法,后面自己测试找到了问题. ...

  6. 兼容ie8 rgba()用法

    今天遇到了一个问题,要在一个页面中设置一个半透明的白色div.这个貌似不是难题,只需要给这个div设置如下的属性即可: background: rgba(255,255,255,.1); 但是要兼容到 ...

  7. 【转】让Bootstrap 3兼容IE8浏览器

    FROM : http://www.ijophy.com/2014/05/bootstrap3-compatible-with-ie8.html 最近在研究Bootstrap(官方,Github)这个 ...

  8. 让Bootstrap 3兼容IE8浏览器

    最近在研究Bootstrap(官方,Github)这个优秀的前端框架,Bootstrap最开始是Twitter团队内部的一个前端框架,所谓前端框架就是一个CSS/HTML框架,框架里面有下拉菜单.按钮 ...

  9. css样式设置图片半透明度,兼容IE8,火狐

    关于背景颜色透明的兼容浏览器的问题,一直是个问题,我所写的兼容IE8,和火狐,说是兼容所有浏览器我就没有测试,有兴趣的朋友可以自己测试下吧. background-color:white;filter ...

随机推荐

  1. windows下复制文件报错“文件名对目标文件夹可能过长 。您可以缩短文件名并重试,或者......”

    我将一个路径下文件夹复制到另一个路径下时,出现了报错,报错图片如下: 然后查资料发现: 1.文件名长度最大为255个英文字符,其中包括文件扩展名在内.一个汉字相当于两个英文字符.2.文件的全路径名长度 ...

  2. Oracle安装和配置Oracle数据库快速指南

    Oracle安装12C要求参考文档 汇总 中文版:在 Unix AIX,HP-UX,Linux,Solaris 和 MS Windows 操作系统上安装和配置 Oracle 数据库(RDBMS)的要求 ...

  3. Windows 2008 r2上安装MySQL

    用MSI安装包安装 根据自己的操作系统下载对应的32位或64位安装包.按如下步骤操作: MySQL数据库官网的下载地址http://dev.mysql.com/downloads/mysql,第一步: ...

  4. iframe子页面与父页面元素的访问以及js变量的访问

    1.子页面访问父页面元素  parent.document.getElementById('id')和document相关的方法都可以这样用 2.父页面访问子页面元素  document.getEle ...

  5. web自动化测试python+selenium学习总结----python环境安装

    一.python下载地址:https://www.python.org/downloads/ 二.双击python的.exe文件安装: 后面直接点击“next” 步骤二:选择安装在D:\python3 ...

  6. [CentOS] rsync同步目录进行备份文件

    操作不难,网上一堆.这里列几个 CentOS7 参考地址: https://www.server-world.info/en/note?os=CentOS_7&p=rsync Copy fil ...

  7. Openstack oslo.config【一】

    OpenStack的项目貌似越来越多了,在Grizzly版之前,每个项目都得实现一套处理配置文件的代码.在每个项目的源码中基本上都可以找到openstack/common/cfg.py,inipars ...

  8. 解决CentOS(6和7版本),/etc/sysconfig/下没有iptables的问题

    一.Centos 6版本解决办法: 1.任意运行一条iptables防火墙规则配置命令: iptables -P OUTPUT ACCEPT 2.对iptables服务进行保存: service ip ...

  9. Javascript基础语法(一)

    一.Javascript简介 1. 定义 基于事件和对象驱动,并具有安全性能的脚本语言. 2. 出现背景 上世纪90年代,在美国有出现,当时有上网的环境,并且有网站服务在运行. 注册服务 上图涉及的问 ...

  10. 2018-2019-2 20165215《网络对抗技术》Exp4 恶意代码分析

    目录 实践目标 实践内容 基础问题回答 实验步骤 使用schtasks指令监控系统 使用sysmon工具监控系统 使用VirusTotal分析恶意软件 使用PEiD进行外壳检测 使用PE explor ...