javascript - 未捕获的类型错误 : Cannot read property 'document' of undefined

标签 javascript .net asp.net-mvc dom browser

我有以下功能,在我测试过的几台 PC 上运行良好。我已经在 Chrome、IE 和 Firefox 上测试过,没有任何问题。但是,有一台特定的 PC(运行 Chrome)在该行抛出此错误“Uncaught TypeError: Cannot read property 'document' of undefined”:

                win.document.write(data);

难道是因为win为null?

如果是这样,为什么这台特定 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);
            }
        });
    }

最佳答案

该 PC 的 Chrome 是否启用了弹出窗口?如果不是,则无法创建新窗口,因此 winundefined

关于javascript - 未捕获的类型错误 : Cannot read property 'document' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20797930/

相关文章:

javascript - 为什么node.js可以在if语句中调用cluster.fork()?

javascript - 谷歌应用程序脚本 : html - form submit, 获取输入值

.net - 无法在 XP Sp3 上找到运行此应用程序 .net 4.0 的运行时版本

asp.net - ASP.NET MVC 应用程序中的 “Bad binary signature”

asp.net-mvc - 是否可以删除 .Net Web Api 应用程序中的所有 .Net MVC 组件,以便我可以使用 AngularJS 作为前端?

javascript - 按当前浏览器 url 过滤 li 元素

javascript - 如何在用户代理检测后使用 jquery 替换 css

c# - WPF 中的上下文文本编辑器

c# - 采用 MVC 4 或 5 的 MEF - 可插拔架构 (2014)

c# - 如何将 span 标签放在 Html.ActionLink 中的 anchor 标签内?