Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Uncaught TypeError: Cannot read property 'document' of undefined

I have the following function, which works fine on a few PCs that I've tested on. I've tested this on Chrome, IE & Firefox with no issues. However, there's 1 particular PC (running Chrome), that throws this error "Uncaught TypeError: Cannot read property 'document' of undefined" on the line:

                win.document.write(data);

Could it be because win is null?

If so, why is this the case on this particular PC?

Is there some Chrome settings that needs to be set?

Method:

    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);
            }
        });
    }
like image 883
Null Reference Avatar asked Dec 27 '13 09:12

Null Reference


1 Answers

Are popups enabled on that PC's Chrome? If they're not then the new window cannot be created hence win is undefined

like image 187
Toni Toni Chopper Avatar answered Oct 27 '22 00:10

Toni Toni Chopper