作者:韵公举_R | 来源:互联网 | 2023-01-30 18:29
我正在尝试创建一个伪报告,显示导入数据时的错误.要做到这一点,我有两个功能:
let createHtmlErrorReport = (err) => {
let currentDate = new Date().toLocaleString();
let cOntents= ' ' +
'' +
'' +
'' +
'' +
'' +
'' +
'' +
'' +
'' +
'Imported ' + currentDate + ' by ' + err.username + ' | ' + err.unprocessedItemsCount + ' items not imported | ' + err.processedItemsCount + ' items imported | '+ err.errorMessages.length + ' errors.
'+
'The following errors occured during import:
'+
''+
'' +
'';
return contents;
}
在上面我创建了一个新文档,添加了一些基本样式,然后创建div容器,我想要插入一个错误列表.
下一个函数调用此方法并构建错误列表
let generateImportErrorReport = (errors) => {
let doc = createHtmlErrorReport(errors);
let errorReportWindow = window.open('', '_blank');
errorReportWindow.document.write(doc);
let list = document.createElement('ul');
//builds a list of errors
for (let i = 0; i
该列表只不过是一个字符串数组:
errors.errorMessages = [
{'Message 1'},
{'Message 2'}
]
此代码在Chrome和Firefox中正常工作,但在IE中生成新文档但列表从不附加到选定的元素.我可以看到生成的元素但它不会添加到新创建的文档中.
IE dev工具在内部捕获了一般的消息 Error: No such interface supported
我已经看到了类似问题的其他SO帖子,但没有适合我的场景的解决方案,因为我正在生成html,并且文档同时与使用现有文档.
编辑**:此代码虽然标准js是作为角度应用程序的一部分在typescript中编写的.TS生成为ECMA3,使用箭头函数或标准符号生成相同的结果.
我很欣赏有关我所缺少的任何建议或指示.