这是我的打印代码:
window.frames["MW_IFRAME_" + _I].focus();
window.frames["MW_IFRAME_" + _I].print();上边的代码在IE,FF,Safari,Chrome浏览器中能够实现仅打印iframe中的内容,但是在Opera浏览器中却将整个页面都打印了,实例地址:http://www.izhaoyang.com/test/example.htm,用虚拟打印机测试下打印功能。我不需要任何打印插件,不想弹出新窗口(感觉不友好),请高手赐教。

解决方案 »

  1.   

    目前Opera好像没有很好的办法,你可以判断Opera弹出打印或者采用 CSS隐藏其他的内容 @media print{
     IFRAME{height:100%;width:100%;}
     }
      

  2.   

    弹出打印吧print()
    close() 后面加上这句 自动关闭
      

  3.   

    这样试试document.getElementById('IframeID').contentWindow.print
      

  4.   

    这类事情,最好的解决办法就是用打印样式。
    <style media="print">
      只显示要打印的部分,其它部分设为隐藏
    </style>
      

  5.   


          PRINT : function() {
            _clear();
            var b = _content().length + _content().replace(/[\u0000-\u00ff]/g, "").length;
            var w = window.open("about:blank", "PRINTWINDOW", "top=0, left=0, z-look=yes, width=300, Height=200");
            w.document.write("<!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD XHTML 1.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/xhtml1\/DTD\/xhtml1-transitional.dtd\">\n" +
                             "<HTML>\n" +
                             "<HEAD>\n" +
                             "<TITLE>Miniweaver document printing<\/TITLE>\n" +
                             "<STYLE type=\"text\/css\" media=\"all\">\n" +
                             "  @media print{#PRINT_TIPS{display:none;}#PRINT_INFO{display:none;}#PRINT_CONTENT{display:block;}}\n" +
                             "  @media screen{.BLOCK{display:block;}.NONE{display:none;}}\n" +
                             "<\/STYLE>\n" +
                             "<SCRIPT type=\"text\/javascript\">\n" +
                             "  window.onload = function() {\n" +
                             "    document.getElementById(\"PRINT_TIPS\").className = \"NONE\";\n" +
                             "    document.getElementById(\"PRINT_INFO\").className = \"BLOCK\";\n" +
                             "    window.print();\n" +
                             "    window.close();\n" +
                             "  };\n" +
                             "<\/SCRIPT>\n" +
                             "<\/HEAD>\n" +
                             "<BODY>\n" +
                             "<H5 id=\"PRINT_TIPS\" class=\"BLOCK\">请注意!当前浏览器可能阻止打印脚本,请确认脚本通过。<\/H5>\n" +
                             "<SPAN id=\"PRINT_INFO\" class=\"NONE\"><FIELDSET><LEGEND>文档属性<\/LEGEND>字节数:" + b + "<BR \/>预计大小:" + (Math.floor(b / 1024) + 1) + "KB<BR \/>打印时间:" + new Date().toLocaleString() + "<\/FIELDSET><\/SPAN>\n" +
                             "<SPAN id=\"PRINT_CONTENT\" class=\"NONE\">" + _content() + "<\/SPAN>\n" +
                             "<\/BODY>\n" +
                             "<\/HTML>");
            w.document.close();
          },
    这么弄的,麻烦大家在用独立的ie6帮我测试下打印,看看卡不卡,IETester软件有BUG这个测试不了