我一直在努力弄清楚如何在创建项目后将文档附加到SharePoint列表。我能够在网上找到这样做的代码;然而,在不同的浏览器中测试代码后,由于.files属性,它不能在ie8和ie9中工作。有什么办法可以绕开这个问题吗?
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
}
提前感谢您的帮助!
是的,你可以使用polyfill,它在不受支持的浏览器中实现缺失的功能。在Modernizr的HTML5跨浏览器多边形页面上列出了一些文件API的多边形。