【发布时间】:2014-08-25 12:16:09
【问题描述】:
我想在 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 地图添加到 iframe,然后使用 iframe 的打印功能来打印谷歌地图
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 的正文。
【问题讨论】:
-
它应该像
HTML html=new HTML("<iframe id="+myframe+"></iframe>") ;我的意思是用+符号附加字符串连接 -
试着这样写
"<iframe id=myframe></iframe>" -
当我评论这一行时:body.innerHTML = myElement;browse can load it
-
什么是idMap??请显示打印页面的调用!!!
标签: java javascript gwt printing