Safari
js
- new Data()
不支持'-',可换为'/'
new Date('2017-03-12'.replace(/-/g, "/"))
- click()
$('body').on('click', '.target', function (e) {
alert('click');
});
- window.open
绕过安全机制
var winRef = window.open("", "_blank");//打开一个新的页面
App.post('',function(data){
if(success){
winRef.location = '';//改变页面的 location
}
setTimeout(loc(),800);//不等待的话无法实现
}
})
css
- 电话号码
数字被识别为电话号码&电话可拨打问题
<meta name = "format-detection" content = "telephone=no">
IE9以下
js
- Elemment元素属性
previouElementSibling()
nextElementSibling()
...
//不支持element元素属性,使用nextSibling等可以实现
文本
不支持textConten
,可用innerText
注册事件
不支持addEventListener(event, function, useCapture)
可用attachEvent(object, eventType, function)
事件对象
不支持e.eventPhase \ e.target
可用windows.event \ e.srcElement
鼠标位置
不支持e.pageX \ e.layerX
只能通过计算得到Array方法
不支持array.filter(function(currentValue,index,arr), thisValue)
方法
arr.forEach(callback[, thisArg])
方法操作css
//透明度
//非IE方法
ele.style.opacity = 0.2; //0-1
//IE
ele.style.filter = "alpha(opacity=100)";
//float属性
//非IE
ele.style.float = "left";
//IE
ele.style.cssFloat = "left";
- ajax
//定义一个 XMLHttpRequest 对象
var xhr;
if(XMLHttpRequest){
xhr = new XMLHttpRequest(); //chrome, safari, opera, firefox
} else if(ActionXObject){
try{
xhr = new ActionXObject("Msxml2.XMLHTTP"); //IE 中 Msxml 插件
}catch(e){
xhr = new ActionXObject("Microsoft.XMLHTTP"); //IE
}
}
css
不支持
- 2-D and 3-D Transforms 2D、3D效果
transform \ perspective \ backface-visibility
- Animations 动画
- Transitions 平滑渐变/过渡
- Speech 朗读
- Media Queries 媒体查询
Firefox
- 鼠标位置
e.pageX——相对整个页面的坐标
e.layerX——相对当前坐标系的border左上角开始的坐标
e.offsetX——无
e.clientX——相对可视区域的坐标
e.x——无
其它
vue兼容问题引入[babel-polyfill]
css在CSS Hack
里设置