2015-10-24 80 views

回答

3

不依靠某些服務器端幫助與「服務器推送」的唯一方法是發送表單或文件使用XMLHttpRequest並使用其進度事件(基本上支持everywhere but IE,所以你需要回退到IE中的基本形式)。爲了做到這一點,你必須使用JSNI。如果你絕對需要支持IE瀏覽器(我的意思是顯示上傳進度,因爲你可以很容易地降級到一個標準的表單上傳),你需要服務器告訴客戶有關進度;這意味着你需要一個帶有「服務器推送」的後臺通道。最簡單的方法是使用GWTUpload或其他類似的第三方庫。您可以使用<progress> element來顯示。在GWT中,最簡單的方法是在HTMLPanel內通過UiBinder使用它:將其綁定到Element@UiField並使用setPropertyDouble等修改其屬性。圍繞通過Document.get().createElement("progress")創建的進度元素創建Widget相對比較容易。或者你可以使用第三方庫(GWT-Bootstrap或其他)或者創建一個<div>元素和CSS中的進度條。同樣,這取決於您想要/需要支持哪些瀏覽器。