No se puede imprimir un iframe en IE usando JavaScript, en su lugar imprime la página principal

Tengo el siguiente código de JavaScript:

$(document).ready(function() {
    $('a#print_button').click(function(event) {
        event.preventDefault();

        var print_url = 'print.html';

        if ($('#print_page').length == 0) {
            $("body").append('<iframe id="print_page" name="print_page" src=' + print_url + ' style="display: none; @media print { display: block; }"></iframe>');
        } else {
            $('#print_page').attr("src", print_quote_url);
        }

        $('#print_page').on("load", function() {
            frames["print_page"].focus();
            frames["print_page"].print();
        });
    });
});

Funciona en Chrome y Firefox. Pero cuando hago clic en el botón en IE, imprime la página principal, en lugar de imprimir el iframe.

Respuestas a la pregunta(1)

Su respuesta a la pregunta