IE9知识点汇总

1、首先ie9不支持flex布局,只能使用float,要想支持ie低版本,两者要同时使用。

2、input框不支持placeholder属性,只能自己加span标签模拟出来,调整样式。

3、单个css源加载有限,最大支持256kb,多余的样式表不会显示,vue项目中使用cssSplitWebpackPlugin插件来完成对css资源包的分割,限制其打包大小。

4、获取本地资源文件的信息,路径、大小、名称

<input type="file" id="file">
var fileEle = document.getElementById('file');
var fileObj = null;
if(fileEle.files){
    fileObj = fileEle.files[0];
}else{
    /*
        低版本IE由于JS安全问题,不允许JS访问本地文件,所以无法获取files
        对于低版本的IE可以使用ActiveXObject获取文件对象, 但是默认情况下
        ActiveXObject为不可用的, 所以要想使用此对象要先启用设置, 即:
            Tools(工具) / Internet options(选项) / Security(安全) / Custom level(自定义级别)
            找到"Initialize and script ActiveX controls not marked as safe for scripting"
            设置为"Enable(not secure)"即可.
    */
    var fso = new ActiveXObject("Scripting.FileSystemObject");
    /*
        1. 获取文件路径
            出于安全性的考虑,低版本IE上传文件时屏蔽了真实的本地文件路径,
            以C:\fakepath\**取而代之, 所以默认情况下通过fileEle.value 不能获取到
            文件的真实路径.
            如果想获取真实路径, 有两种方式:
                1. 通过设置IE的安全设置, 即:
                    Tools(工具) / Internet options(选项) / Security(安全) / Custom level(自定义级别)
                    找到"Include local directory path when uploading files to a server"
                    设置为的"Enable"
                2. 使用JS获取, 即:
                    fileEle.select().blur();
                    var filePath = document.selection.createRange().text;
    */
    fileEle.select();
    fileEle.blur();
    var filePath = document.selection.createRange().text; //文件路径
    /*
        FileExists:  判断 文件是否存在
        GetFile: 获取文件对象
    */
    if(fso.FileExists(filePath)){
        fileObj = fso.GetFile(filePath);
    }
    /*
        通过文件对象可以获取文件的基本信息, 如:
    */
    console.info("文件类型:" + fileObj.type);
    console.info("文件名称:" + fileObj.name);
    console.info("文件大小:" + fileObj.size);
}

5、怪异盒子模型

6、多行溢出隐藏属性不支持,该属性只支持wenkit内核浏览器

7、IE9对es6新增的Map对象不支持,最低支持IE11

posted @ 2020-08-16 22:19  yuanhonglin  阅读(171)  评论(0)    收藏  举报