IE 8 - .files属性解决方法

时间:2015-06-10 17:45:23

标签: javascript jquery sharepoint internet-explorer-8

我一直在尝试弄清楚如何在创建项目后将文档附加到SharePoint列表。我能够在网上找到代码来做到这一点;但是,在不同浏览器中测试代码后,由于.files属性,它不适用于IE 8和IE 9。有没有办法解决这个问题?

function addAttachments(itemId)
{
    var filereader = {}, file= {}; 
/* Here --------> */var files = document.getElementById('myfile').files; 
    for(var j=0; j< files.length; j++)
    {
        file = files[j]; 
        filereader = new FileReader(); 
        filereader.filename = file.name; 
        filereader.onload = function(){
            var data = this.result
            n = data.indexOf(";base64,") + 8; 

            data = data.substring(n); 

            $().SPServices({
                operation: "AddAttachment", 
                listName:'Test', 
                asynch: false, 
                listItemID: itemId, 
                fileName: this.filename, 
                attachment: data, 
                completefunc: function (xData, Status){
                }

            }); 
        }; 

        filereader.onabort = function (){
        }; 

        filereader.onerror = function(){
        }; 

        filereader.readAsDataURL(file); 
    }//end of for loop
}

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

是的,您可以使用polyfill,它实质上在不受支持的浏览器中实现了缺少的功能。在Modernizr的HTML5 Cross Browser Polyfills页面上列出了一些文件API的填充。