当前位置: 代码迷 >> Java Web开发 >> js实现打印的有关问题
  详细解决方案

js实现打印的有关问题

热度:1362   发布时间:2013-02-25 21:10:18.0
js实现打印的问题。
我用js实现打印的时候,页面没有打印完全,请高手们指点一下,不胜感激~
我先描述一下具体出现的问题:
在a.jsp页面中有个iframe指向b.jsp
在a页面中点击打印的时,触发js
function OnPrint(oper) {
document.frames.iframe_detail.doPrint(oper);
}
在b页面中的js控制如下:
JScript code
function doPrint(oper){if (oper<10){ bdhtml=window.document.body.innerHTML;//获取当前页的html代码//alert("1="+bdhtml)sprnstr="<!--startprint"+oper+"-->";//设置打印开始区域eprnstr="<!--endprint"+oper+"-->";//设置打印结束区域prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //从开始代码向后取html//alert("2="+prnhtml);prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//从结束代码向前取htmlwindow.document.body.innerHTML=prnhtml;window.print();window.document.body.innerHTML=bdhtml;} else {window.print();}}

在b页面中用<!--startprint1-->中间是一个table<!--endprint1-->来划定范围
问题时,b页面中的table有导航条,在页面上不能完全显示,需要拖动导航条才能完全看到表中的详细信息,结果打印时只打印了页面上直接显示的那部分,另外一部分没有打印。
请大侠们帮帮忙,我的需求是全部都要打印,一旦解决立马结贴


------解决方案--------------------------------------------------------
不好意思楼主我也不会,不过window.print();应该放在最后的
------解决方案--------------------------------------------------------
同意上面的说法。
------解决方案--------------------------------------------------------
以前做页面打印的时候,都是直接调用做的两个iframe,下面的整个页面都是要打印的内容,就没有存在这种问题,直接先focus(),然后再print()!!这也学习下
  相关解决方案