IE9兼容
Posted jing-zhe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IE9兼容相关的知识,希望对你有一定的参考价值。
1.let、const更换为var声明
2.箭头函数更换为function
3.模板字符串``使用字符串拼接
4.flex布局更换为float浮动和positon定位
5.颜色rgb更换为16进制,rgba也可以通过识色转换为16机制,不过不透明,如果介意透明度的话可以外套一个div设置opacity透明度属性
一、判断IE
//IE浏览器
var explorer = window.navigator.userAgent.toLowerCase();
var ver = 9999
if (explorer.indexOf("msie") >= 0) {
ver = parseInt(explorer.match(/msie ([d.]+)/)[1]);
// ver为IE版本
}
二、placeholder不显示
.inp { color: #cccccc ; }
<input type="text" name="search_name" id="search_name" placeholder="搜索" datavalue="搜索">
<script>
function placeholder(target) {
$(target).val($(target).attr("datavalue")).addClass("inp");
$(target).focus(function () {
if ($(this).val() == $(this).attr("datavalue")) {
$(this).val("").removeClass("inp");
}
})
$(target).blur(function () {
if ($(this).val() == "" || $(this).val() == $(this).attr("datavalue")) {
$(this).val($(target).attr("datavalue")).addClass("inp");
}
})
}
// 如果是ie9及以下调用方法
placeholder("#search_name")
三、获取自定义属性‘data-’
var dataset = {}
if (!e.target.dataset) {
// var attrs = $(e.target).get(0).attributes
var attrs = e.target.attributes
for (var i = 0; i < attrs.length; i++) { //是否是data- 开头
var matchStr = attrs[i].name.match(/^data-(.+)/);
if (matchStr) { //data-auto-play 转成驼峰写法 autoPlay
name = matchStr[1].replace(/-([da-z])/gi, function (all, letter) {
return letter.toUpperCase();
});
dataset[name] = attrs[i].value;
}
}
}
以上是关于IE9兼容的主要内容,如果未能解决你的问题,请参考以下文章
一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10
一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10
兼容模式下ie9和ie10显示样式在不兼容模式下为啥不加载css样式?