Bug Tracker

Opened 11 years ago

Closed 11 years ago

Last modified 10 years ago

#8528 closed bug (invalid)

IE9 throws "Access denied" when deleting an iframe that had previously made $.ajax calls

Reported by: [email protected] Owned by: danheberden
Priority: high Milestone: 1.5.2
Component: event Version: 1.5.1
Keywords: Cc:
Blocked by: Blocking:

Description

Situation:

You have a page that includes an iframe. That iframe makes $.ajax calls, and then is removed from the page from the parent. IE9 will throw the following error:

SCRIPT5: Access is denied.

I've debugged this a bit, and it's caused by the window unload event bound by xhrOnUnloadAbort(). When the iframe is removed from the page, the unload event is triggered, but IE9 passes an event object with "Access denied" for nearly every property, and jQuery chokes when it encounters it.

Even though this is an "Access denied" error, it doesn't seem to matter whether the iframe is hosted on another domain or not.

Host page:

<!DOCTYPE html>
<body>
    <iframe src="http://localdev.com/~ben/disqus/ie9_frame.html"></iframe>    
    <a href="#">Delete me</a>
    
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
    <script type="text/javascript">
    $(function() {
        $('a').click(function() {
            $('iframe').remove();
        });
    });
    </script>

</body>
</html>

Iframe src:

<!DOCTYPE html>
<body>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
    <script>
    $(function() {
        $.get('/~ben/disqus/ie9.json', function() {
            $('body').append("ajax call done");
        });
    });
    </script>
</body>
</html>

Change History (5)

comment:1 Changed 11 years ago by danheberden

Component: unfiledajax
Keywords: needsreview added
Priority: undecidedhigh
Status: newopen

comment:2 Changed 11 years ago by danheberden

Component: ajaxevent

comment:3 Changed 11 years ago by danheberden

Milestone: 1.next1.5.2
Owner: set to danheberden
Status: openassigned

comment:4 Changed 11 years ago by danheberden

Resolution: invalid
Status: assignedclosed

no longer present in ie9 final. fwiw, i fixed it :/ but no need now

comment:5 Changed 11 years ago by danheberden

Keywords: needsreview removed
Note: See TracTickets for help on using tickets.