2011-12-09 257 views
0

使用WebBrowser小部件創建包裝HTML 5 Web應用程序的Windows Phone 7應用程序。顯示啓動畫面,直到Web瀏覽器呈現頁面

在WebBrowser完全呈現網頁之前,是否有任何方法來保持啓動畫面(splashscreenimage.jpg)? (它在頁面呈現之前顯示白色)

回答

2

,直到應用程序的第一個頁面加載顯示默認的截圖圖像。在此之後,內容已完成呈現。

WebBrowser控制爲Loaded事件,但這與已呈現頁面的內容不同。 (如果頁面內容複雜且需要時間才能完全呈現,這將有助於顯示白色/黑屏的時間長度。)

您需要實現自己的啓動畫面才能獲得你所追求的效果。在XAML而不是HTML中執行此操作,或者您的HTML splashscreen將會遇到與您現在相同的問題。將圖像添加到與WebBrowser相同的頁面,但將其放在WebBrowser控件的頂部。一旦知道底層內容已被顯示,請更改其可見性。

如果您可以確信呈現頁面內容所需的時間,那麼您可以簡單地在WebBrowsers Loaded事件觸發後添加延遲。你可能會想在各種設備上測試這個。也許只是爲了確定一點額外的時間。
如果您不知道需要多長時間,那麼請留出足夠的時間來確保大部分時間都會加載,並且您在啓動時沒有遇到任何市場認證要求。如果這是一個問題,您可能希望確保加載的第一個HTML頁面很簡單,然後逐步加載其餘內容。

或者,您可以向頁面添加一些代碼,一旦文檔的主體被加載,該代碼就會通知主頁。

0

僅限Web瀏覽器的應用程序將無法通過認證。

也就是說,您可以自己顯示圖像,直到WebBrowser上的LoadCompleted消失。

+0

沒有什麼可阻止將WebBrowser控件中的所有內容提交到市場的應用程序。唯一相關的限制是應用程序不要直接鏈接到網站。 –

0

你可以試試這個。

  1. 顯示剛剛閉體
  2. 支票元件的存在之前過度使用CSS用z-index或/和絕對定位
  3. 放置在頁面的端部的元素的HTML啓動圖像。
  4. 如果元素存在,你可以刪除閃屏

我建議你刪除屏幕,幾秒鐘的延遲,使所有圖像加載

0

將這個風格在<head>

<style> 
    #splash { 
     position: absolute; 
     top: 0px; 
     left: 0px; 
     bottom: 0px; 
     right: 0px; 
     background: #fff; 
    } 
</style> 

把你的閃屏格在<body>開頭:

<body> 
     <div id="splash"> 
      ... splash screen contents ... 
     </div> 
.... 

和剛剛閉幕的標記之前:

.... 
    <script type="text/javascript"> 
     document.getElementById('splash').style['display'] = 'none'; 
    </script> 
</body>