我知道您可以使用Window.open()函數將其指向特定的URL來打開一個新的瀏覽器窗口。但是,是否可以打開包含GWT面板的新瀏覽器窗口?如果是的話,有人可以舉一個例子嗎?在包含Widget/Panel的GWT中打開一個新的瀏覽器窗口
回答
這是我的想法。我在純JavaScript中實現了它,但是如果可以在JS中使用,那麼使用GWT也是可能的!
parent.html:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Parent page</title>
<script type="text/javascript">
function openChild() {
window.mychild = window.open("print.html");
setTimeout('setContent();', 2000);
}
function setContent() {
window.mychild.document.body.innerHTML =
'<b>Here is your dynamically generated print content</b>';
// This could be produced by your main GWT module.
}
</script>
</head>
<body>
<a href="#" onclick="javascript:openChild()">Open child window</a>
</body>
</html>
print.html:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Print view</title>
</head>
<body>
One moment please...
</body>
</html>
請注意,我用的超時。這並不理想,因爲如果(非常小)的print.html需要更長的時間才能被抓取,那麼它會覆蓋動態設置的內容。我想,解決方案可以優化(但要確保子窗口是從同一個來源獲取的,否則就會遇到「同源策略」問題)。
這實際上是一個好主意,Chris :)只要你希望只將靜態內容/ HTML放入該窗口中,它就應該很好地完成這項工作 - 任何事件處理程序等都不會被轉移(顯然)。我只是想補充一點,可以通過getElement()。getInnerHTML()來訪問任何Widget的innerHTML值。因此,要獲得全身標籤,可以使用'RootPanel.get()。getElement()。getInnerHTML()'。 – 2010-06-10 19:39:39
GWT版本的[Window.open](http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/com/google/gwt/user/client/Window.html#open)太糟糕了,不返回任何東西! – djjeck 2012-08-29 16:51:46
- 1. 在GWT應用程序中打開新的瀏覽器窗口
- 2. showModalDialog;打開IE瀏覽器中的一個新窗口
- 3. AS3 - mailto正在打開一個新的瀏覽器窗口
- 4. 一個網格內打開URL在新的瀏覽器窗口
- 5. 打開Chrome瀏覽器在命令行窗口中的一個新窗口
- 6. 如何在手機瀏覽器中打開一個新窗口?
- 7. 如何在焦點瀏覽器中打開一個新窗口
- 8. 用特定的HTML打開一個新的瀏覽器窗口
- 9. 打開窗口瀏覽器
- 10. 新窗口中GWT,DOM,IE瀏覽器
- 11. iscroll鏈接打開一個新的Safari瀏覽器窗口?
- 12. 在AJAX/GWT應用程序中打開新的瀏覽器窗口/選項卡
- 13. 如何在Safari瀏覽器中打開Safari瀏覽器中的新窗口
- 14. 打開新窗口彈出窗口與瀏覽器分開
- 15. 從彈出窗口打開新的瀏覽器窗口
- 16. Selenium/PHPUnit。是否可以在窗口/瀏覽器之上打開一個乾淨的新窗口/瀏覽器?
- 17. 在新的瀏覽器窗口GWT彈出窗口
- 18. GWT:未打開瀏覽器選項卡打開新郵件窗口
- 19. 在asp.net中打開一個新的瀏覽器窗口throgh服務器端
- 20. 在Selenium的另一個窗口中打開新的瀏覽器會話
- 21. 在新的瀏覽器中打開PDF全窗口
- 22. Java在新的瀏覽器窗口中打開pdf文件
- 23. JS提示在新的Safari瀏覽器窗口中打開?
- 24. 在新的瀏覽器窗口中打開圖片
- 25. 在新的瀏覽器窗口中打開DNN(DotNetNuke)頁面
- 26. 如何在新的瀏覽器窗口中打開MVC視圖
- 27. 在新的瀏覽器窗口中打開.xul鏈接
- 28. 在硒中處理新打開的瀏覽器窗口
- 29. 打開的文件已經在窗口瀏覽器中打開
- 30. 瀏覽器後面的打開窗口
你爲什麼想要這樣做?你想/需要傳遞一些會話信息嗎?那麼,你總是可以將新窗口的URL指向GWT應用程序......「PopupPanel」(加上也許是「Frame」Widget)怎麼樣? – 2010-06-09 20:34:07
我想創建一個「打印機友好」版本的頁面,並且將它放在一個單獨的窗口中會很好。我知道這可以通過其他方式完成,我只是想知道這是否可能。 – stuff22 2010-06-09 20:41:01
我和伊戈爾有同樣的問題。嘗試避免打開新窗口(除非重定向到另一個網站),因爲這對用戶來說確實很煩人。我也建議PopupPanel – Zwik 2010-06-09 20:42:22