2010-11-15 53 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 2010-11-16 09:53:02

+0

感謝彼得,這對除IE 10(驚喜!驚喜)以外的所有瀏覽器都很好。你會有解決方案嗎? – Sileria 2013-08-01 13:48:37