Javascript window.print在Firefox中不工作 函数CallPrint(){ var prtContent=document.getElementById(“”); var winPrint=window.open(“”,“”,’left=0,top=0,width=800,height=600,toolbar=0,scrollbars=0,status=0’); winPrint.document.write(“Summary”+prtContent.innerHTML); winPrint.document.close(); winPrint.focus(); print.print(); winPrint.close(); }

Javascript window.print在Firefox中不工作 函数CallPrint(){ var prtContent=document.getElementById(“”); var winPrint=window.open(“”,“”,’left=0,top=0,width=800,height=600,toolbar=0,scrollbars=0,status=0’); winPrint.document.write(“Summary”+prtContent.innerHTML); winPrint.document.close(); winPrint.focus(); print.print(); winPrint.close(); },javascript,firefox,printing,Javascript,Firefox,Printing,我有一个需要,我必须打印一个div的内容。我使用上面的代码这样做。它在IE中运行良好,但在Firefox中却没有任何作用。我是否遗漏了一些需要在Firefox中完成的事情?嗯。。。在Firefox3.5(Windows)上,您的代码对我来说似乎运行良好。 您的pnlDelete.ClientID可能有问题? 您的javascript代码在页面上呈现良好 无论如何,我建议您使用jQuery+这样的打印插件。检查以确保您的面板有一些内容。我猜,prt内容未定义 试试这个: function Call

我有一个需要,我必须打印一个div的内容。我使用上面的代码这样做。它在IE中运行良好,但在Firefox中却没有任何作用。我是否遗漏了一些需要在Firefox中完成的事情?

嗯。。。在Firefox3.5(Windows)上,您的代码对我来说似乎运行良好。 您的pnlDelete.ClientID可能有问题? 您的javascript代码在页面上呈现良好


无论如何,我建议您使用jQuery+这样的打印插件。

检查以确保您的面板有一些内容。我猜,
prt内容
未定义

试试这个:

function CallPrint() {
        var prtContent = document.getElementById('<%= pnlDelete.ClientID %>');
        var winPrint = window.open('', '', 'left=0,top=0,width=800,height=600,toolbar=0,scrollbars=0,status=0');
        winPrint.document.write("<h3>Summary</h3><br />" + prtContent.innerHTML);
        winPrint.document.close();
        winPrint.focus();
        winPrint.print();
        winPrint.close();
    }
函数CallPrint(){
var prtContent=document.getElementById(“”);
如果(PRT内容){
var winPrint=window.open(“”,“”,’left=0,top=0,width=800,height=600,toolbar=0,scrollbars=0,status=0’);
winPrint.document.write(“Summary
”+prtContent.innerHTML); winPrint.document.close(); winPrint.focus(); print.print(); winPrint.close(); } 否则{ 警报(“没有可打印的摘要”); } }
我没有在没有URL的情况下打开新窗口,而是在窗口中打开了此页面,并通过window.opener对象从打开的窗口访问了PNL摘要的内容-

function CallPrint() {
    var prtContent = document.getElementById('<%= pnlDelete.ClientID %>');

    if (prtContent) {
        var winPrint = window.open('', '', 'left=0,top=0,width=800,height=600,toolbar=0,scrollbars=0,status=0');
        winPrint.document.write("<h3>Summary</h3><br />" + prtContent.innerHTML);
        winPrint.document.close();
        winPrint.focus();
        winPrint.print();
        winPrint.close();
    }
    else {
        alert('No summary available for printing');
    }
}
在Print.aspx页面上,我使用了此功能-

function CallPrint() {
    var winPrint = window.open('Print.aspx', '', 'left=0,top=0,width=800,height=600,toolbar=0,scrollbars=0,status=0');
}
函数打印(){
var prtContent=“Summary”+window.opener.document.getElementById('ctl00\u cphContent\u pnlssummary').innerHTML;
document.getElementById(“printDiv”).innerHTML=prtContent;
window.print();
window.opener.focus();
window.close();}
并称之为身体负荷

function Print() {
    var prtContent = "<h3>Summary</h3>" + window.opener.document.getElementById('ctl00_cphContent_pnlSummary').innerHTML;
    document.getElementById("printDiv").innerHTML = prtContent;
    window.print();
    window.opener.focus();
    window.close(); }


在IE和Firefox中都运行良好。

您可以尝试jquery插件

使用
setTimeout()
函数加载页面。下面的链接给出了示例


您可以使用JS打印机设置”

Firefox中网络应用Kisok中最有用的插件是Firefox依赖的哪个来选择打印机

附加了一些附加打印机和本地打印机的示例,它可以帮助您构建无打印对话框

函数EB_打印(打印类型){
试一试{
var printerType=printType;//打印代码的类型:网络
//默认打印机配置
var Default_printer=“佳能MG2500系列”;
/**通过网络配置本地打印机
**配置本地服务器使用\\\\获取\\
**/
var Organizer\u Printer=“\\\\network\\Canon LBP2900”;
jsPrintSetup.setPrinter(默认打印机);
jsPrintSetup.setSilentPrint(true);//不带OUD对话框
/**警报(jsPrintSetup.getPrintersList());//附加打印机列表的调试器
警报(jsPrintSetup.getPrinter());//获取设置打印机选项
**/
//id网络被选中,它将在网络中打印页面
如果(printerType==“网络”){
jsPrintSetup.setPrinter(组织者\打印机);
}
jsPrintSetup.print();//打印页面
}捕获(e){
//TODO:处理异常
}

}
对不起?解决问题的方法是什么?您没有选择答案。(例如,您的答案应该是添加到其他用户给出的正确答案中的注释…并将他们的答案标记为正确)没有一个回答帮助我解决我的问题,我自己在这两个问题之间,找到了一个解决办法,我在博客上写了一个链接,并把它标记为答案。考虑把更多的信息放在这个答案中,这样人们就不必离开了,以便得到他们需要的信息。+ 1,因为我不愿意重新发明W。使用库使您的生活更轻松。虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,则仅链接的答案可能无效。请不要使用windows.print();使用var t=setTimeout(函数(){win.window.print();},5000);如果您的连接速度慢,请增加时间。我认为这将解决您的问题
<body onload="Print();">
    <form id="form1" runat="server">
    <div id="printDiv">
    </div>
    </form>
</body>