Javascript 如何在IE11中打印角度对话框模式?

Javascript 如何在IE11中打印角度对话框模式?,javascript,angular,printing,modal-dialog,internet-explorer-11,Javascript,Angular,Printing,Modal Dialog,Internet Explorer 11,一个aspx页面使用剑道对话框加载到一个模态中。 此页面的预期行为是一旦生成,就会打开打印对话框。该打印操作的输出应该是aspx页面。当从Chrome/Firefox打印时,情况是这样的,但IE11只打印实际模式对话后面页面的一部分 这在aspx代码中实现,如下所示: if (!(rsClinicList.EOF)) { Response.Write("onLoad=\"doPrint();\""); } 调用的方法很简单: function doPrint() { windo

一个aspx页面使用剑道对话框加载到一个模态中。 此页面的预期行为是一旦生成,就会打开打印对话框。该打印操作的输出应该是aspx页面。当从Chrome/Firefox打印时,情况是这样的,但IE11只打印实际模式对话后面页面的一部分

这在aspx代码中实现,如下所示:

if (!(rsClinicList.EOF))
{
    Response.Write("onLoad=\"doPrint();\"");
}
调用的方法很简单:

function doPrint() {
    window.print();
}

因此,这与Chrome/Firefox内部的预期完全一样,如何使用IE11打印正确的内容?

我认为这会在IE11中造成一些溢出。尝试使用css。一个可能的解决方案是创建一个您将内容写入其中的容器,该容器仅在打印时显示。像这样的解决方案:


由于您正在使用剑道对话,请检查并使用以下CSS样式打印对话内容:

要仅选择打印期间可见的对话框内容并隐藏页面的其余内容,请使用CSS

下面的示例假定页面上只存在一个对话框实例。如果页面上存在多个对话框实例,并且只需要打印一个,请将.k-Dialog类替换为手动应用于对话框包装器元素的自定义CSS类

@media print
{
    body > *
    {
        display: none !important;
    }

    body > .k-dialog
    {
        display: block !important;
        position: relative !important;
        top: auto !important;
        left: auto !important;
        width: auto !important;
        height: auto !important;
        border-width: 0;
        box-shadow: none !important;
    }

    .k-window .k-window-titlebar
    {
        display: none;
    }
}