Kit*_*son 5 javascript printing dojo
我希望能够为我的用户提供一个按钮来打印我的dojo/dijit应用程序的特定部分.在打印方面似乎普遍缺乏文档和示例.
例如,我有一个特定的dijit.layout.ContentPane包含我想要打印的内容,但我不想打印文档的其余部分.我在网上看到了一些纯粹的JavaScript示例,其中将node.innerHTML其读入"隐藏"的iframe,然后从那里打印出来.我怀疑它会起作用,但我想知道是否有更多的以dojo为中心的打印方法.
有什么想法吗?
我决定沿着<iframe>从那里读取和打印的路径,但由于我使用的是渲染的 dojox.gfx 表面,因此从目标 ContentPane 直接读取到不可见的 iframe 在某些浏览器中无法正常工作。因此,我所做的是将 iframe 的“src”设置为重新渲染图表的页面,然后在完成时将其自身打印出来。在主文档中,它看起来像这样:
<iframe id="printIFrame4" src="#" style="width: 0px; height:0px;
border: none; background: transparent"></iframe>
<button dojoType="dijit.form.Button" style="margin-top: -3px;" id="buttonPrintMap4">
Print...
<script type="dojo/method" event="onClick" args="event">
dojo.byId("printIFrame4").src = "logmap/docMap.php?id=4";
</script>
</button>
Run Code Online (Sandbox Code Playgroud)
然后页面执行必要的 dojo 操作来重新绘制图表,然后一旦加载它就会执行以下操作:
this.focus();
this.print();
Run Code Online (Sandbox Code Playgroud)
然后进行打印。
| 归档时间: |
|
| 查看次数: |
6278 次 |
| 最近记录: |