java - 如何在gwt中打印一些元素

标签 java javascript gwt printing

我想在 GWT 中打印一页页面。

但是有人说你必须使用iframe,因为它有打印方法。

我尝试了这段代码,但它不起作用:

     HTML html=new HTML("<iframe id="myframe"></iframe>") ;....
    searchButton.setWidth("80px");
            searchButton.addClickHandler(new ClickHandler() {

                @Override
                public void onClick(ClickEvent event) {
                    MyNative.printIframeContent("myframe", "onlineMap");

                }
            });
    map = new SimplePanel();
    map.getElement().setId("onlineMap");
    map.add(mapView.getMapWidget());

mapView 是返回 GWT MapWidget 的类的实例,通过这种方式,我想将 GWT map 添加到 iframe,然后使用 iframe 的打印功能来打印 google map

MyNative是一个使用GWT JSNI调用printPage javascript函数的类

function printPage(idMap,idFrame) {
    var myElement = document.getElementById(idMap);
    var iframe = document.getElementById(idFrame);
    var body = iframe.getElementsByTagName('body');
    body.innerHTML = myElement;
    iframe.contentWindow.print();
}

但是浏览器无法加载 iframe 的正文。

最佳答案

你可以试试这个:

String html = myPanel.getElement().getInnerHTML();
print(html);


public static final native void print(String html) /*-{

    top.consoleRef=$wnd.open('','_blank', "");
    top.consoleRef.document.write(html);
    top.consoleRef.print();
    top.consoleRef.document.close()

}-*/;

关于java - 如何在gwt中打印一些元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25485735/

相关文章:

java - 错误 'Can' 无法解析 MainActivity 中的符号 'container'

javascript - 使用 mysql 表进行表单验证

java - 手机和电脑之间的蓝牙聊天

javascript - 分区是空的。使用 jQuery...错误?

javascript - jQuery 从 div 解析 JSON

java - 具有 SSL 安全性的 GWT

java - gwt/jsni-将字符串从外部 JS 传递到 Java

tomcat - 检索文件访问的本地 Tomcat 路径

java - 同步 arrayList- 不兼容的类型

java - 如何找到正则表达式模式而不将其包含在结果中?