在IE上禁用webbrowser打印弹出对话框

时间:2012-03-20 15:11:54

标签: c# .net popup browser

我有一个简单的Web浏览器控件,显示一个本地网页,该网页有记录和打印功能,但每当我点击网页内的打印按钮,我被重定向到IE并弹出打印对话框,我想要什么是禁用被重定向到任何其他浏览器并从我的Web浏览器控件显示打印对话框。

我已经搜索了很多解决方案,但唯一接受的逻辑是:

    private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
    {
        e.Cancel = true;
    }

但没有工作.....

这是JavaSCript函数:

<script type="text/javascript">
function printDiv(printDiv)
{

 //calledFromJSHandlerFunction(document.getElementById(printDiv).innerHTML);
    var w = window.open("about:blank");
    w.document.write(document.getElementById(printDiv).innerHTML);
    w.print();
    w.close();

}

最后希望你们帮帮我。

1 个答案:

答案 0 :(得分:1)

将您的javascript插入我的JS-to-English翻译器......

  

打开一个新窗口
  将要打印的div写入新窗口
  只打印那个div   关闭新窗口

“打印”命令仅适用于窗口对象。因此,如果您不想打印整个页面,并且您不想创建新窗口......则必须创建一个新的CSS并在HTML中引用它。这个新的CSS将具有media="print"属性,并将所有元素定义为不可见(例如visibility: hidden;),除了您想要打印的div。

或者,您可以使用IFRAME来实现相同的目标。