Искам да отпечатам един панел от страница в 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, за да отпечатам карта на Google
MyNative
е клас, който използва GWT JSNI за извикване на javascript функцията printPage
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>") ;
i означава добавяне на конкатинация на низ със символ + - person Rudra Sisodia   schedule 25.08.2014"<iframe id=myframe></iframe>"
- person Rudra Sisodia   schedule 25.08.2014