我有一个包含数据表的弹出窗口,数据完美地显示在 Firefox 和 chrome 中。
在 IE(我有 IE 9)中,我没有得到任何数据和消息“表中没有可用数据”。
如果我做
console.log(historyArray);
我确实在控制台中获取数据。
这是数据表代码,我该如何解决 IE 问题?
myTable = $('#report').dataTable({
"aaData": historyArray,
"aoColumns": [{
"mDataProp": "User"
}, {
"mDataProp": "Timestamp"
}, {
"mDataProp": "Latitude"
}, {
"mDataProp": "Longitude"
}, {
"mDataProp": "Address"
}],
"bPaginate": false,
"bJQueryUI": true,
"sDom": '<"H"Tfr>t<"F"ip>',
"oTableTools": {
"sSwfPath": "swf/copy_csv_xls_pdf.swf",
"aButtons": ["copy", "csv", "xls", "pdf"]
},
"fnInitComplete": function () {
addClasses();
}
});
修复更新
出于某种原因,数据表不想使用 window.opener 获取的数组,即使它接收正常。
我通过创建一个新数组并将值推入其中来修复它。然后将 newArray 数据提供给数据表。
var newArray = [];
var historyArray = window.opener.historyArray;
for (var key in historyArray) {
newArray.push(historyArray[key])
}