我有一个包含数据表的弹出窗口,数据显示在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();
}
});
FIX UPDATE
由于某种原因,数据表不想使用window.opener提取的数组,即使它已经收到了。
我通过创建一个新数组并将值推入其中来修复它。然后将newArray数据提供给数据表。
var newArray = [];
var historyArray = window.opener.historyArray;
for (var key in historyArray) {
newArray.push(historyArray[key])
}
答案 0 :(得分:1)
根据控制台日志,问题在于:
window.opener.closeReportWindow();
它说:
SCRIPT438: Object doesn't support property or method 'closeReportWindow'
请改为尝试:
window.close();
还要将jQuery更新为1.7.2版。
答案 1 :(得分:0)
FIX UPDATE
由于某种原因,数据表不想使用window.opener提取的数组,即使它已经收到了。
我通过创建一个新数组并将值推入其中来修复它。然后将newArray数据提供给数据表。
var newArray = [];
var historyArray = window.opener.historyArray;
for (var key in historyArray) {
newArray.push(historyArray[key])
}