我有一个简单的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();
}
最后希望你们帮帮我。
答案 0 :(得分:1)
将您的javascript插入我的JS-to-English翻译器......
打开一个新窗口
将要打印的div写入新窗口
只打印那个div 关闭新窗口
“打印”命令仅适用于窗口对象。因此,如果您不想打印整个页面,并且您不想创建新窗口......则必须创建一个新的CSS并在HTML中引用它。这个新的CSS将具有media="print"
属性,并将所有元素定义为不可见(例如visibility: hidden;
),除了您想要打印的div。
或者,您可以使用IFRAME
来实现相同的目标。