2010-11-15 2 views
2

Я пытаюсь получить простой javascript, работающий в gwt, но продолжаю терпеть неудачу.Запись в новое окно

Код:

public static native void createWindow() /*-{ 
    var wndRef = $wnd.open('','edit'); 
    var divTag = document.createElement("div");   
     divTag.id = "div1"; 

     divTag.setAttribute("align","center");  
     divTag.style.margin = "0px auto"; 

     divTag.innerHTML = "blah blah blah"; 

     wndRef.document.body.appendChild(divTag); 
    }-*/; 

Я пытаюсь открыть новое окно и записать в него содержимое

Проблема: В настоящее время этот код открывает новое окно, но его пустым.

Как написать мне контент? я делаю что-то неправильно или ожидаю слишком много от gwt?

Контекст: Моя конечная цель - открыть новое окно и добавить в него панель формы и различные виджеты с помощью java-методов.

ответ

4

GWT скомпилирован в Javascript, поэтому GWT может делать то, что может сделать JS.

Если вы хотите, чтобы открыть новое окно и ввести некоторое содержание к нему, то это правильный путь:

var win = window.open("", "win", "width=300,height=200"); // a window object 
win.document.open("text/html", "replace"); 
win.document.write("<HTML><HEAD><TITLE>New Document</TITLE></HEAD><BODY>Hello, world!</BODY></HTML>"); 
win.document.close(); 
+0

Благодаря Питер, я получил это работает именно так было интересно знать, почему техника выше не работает Я думал, что делаю то же самое, только используя вызовы функций для элемента и документа. – Primus

+0

Спасибо, Питер, это отлично работает на всех браузерах, кроме IE 10 (Surprise! Surprise). У вас есть решение для этого? – Sileria

Смежные вопросы