【发布时间】:2014-01-14 21:10:51
【问题描述】:
我有以下功能,在我测试过的几台电脑上运行良好。我已经在 Chrome、IE 和 Firefox 上对此进行了测试,没有任何问题。但是,有 1 台特定的 PC(运行 Chrome)会在该行抛出此错误“Uncaught TypeError: Cannot read property 'document' of undefined”:
win.document.write(data);
会不会是因为win为空?
如果是这样,为什么在这台特定的 PC 上会出现这种情况?
是否有一些 Chrome 设置需要设置?
方法:
function viewReport() {
console.info('generating event report');
var frmData = $('#frmEventReport').serializeArray();
var rptName = 'EventReport' + Math.floor((Math.random() * 100) + 1);
console.info('generated random report name ' + rptName);
$.ajax({
//type: "GET",
timeout: 120000,
url: '@Url.Action("EventReport", "Reports")',
data: frmData,
success: function (data) {
console.info('succesfully called back');
var win = window.open('', rptName, '_blank');
console.info('opening window');
win.document.write(data);
},
error: function (x, y, z) {
console.info(x + ' ' + y + ' ' + z);
}
});
}
【问题讨论】:
-
这里的
win是对新创建的窗口的引用。如果调用失败,它将为空。因此你得到错误
标签: javascript .net asp.net-mvc dom browser