簡體   English   中英

顯示啟動畫面,直到Web瀏覽器呈現頁面

[英]Show Splash screen until Web Browser has rendered the page

使用WebBrowser小部件創建包裝HTML 5 Web應用程序的Windows Phone 7應用程序。

有沒有辦法保持啟動畫面(splashscreenimage.jpg)直到WebBrowser完全呈現網頁? (在呈現頁面之前顯示白色)

將顯示默認屏幕截圖圖像,直到加載應用程序中的第一頁。 在此之后,內容已經完成呈現。

WebBrowser控件作為Loaded事件,但這與已呈現的頁面內容不同。 (如果頁面內容很復雜並且需要時間來完全呈現,這將有助於顯示白色/空白屏幕的時間長度。)

您需要實現自己的啟動畫面才能獲得您想要的效果。 在XAML而不是HTML中執行此操作,否則您的HTML啟動畫面將遇到與現在相同的問題。 將圖像添加到與WebBrowser相同的頁面,但將其放在WebBrowser控件的頂部。 一旦您知道已顯示基礎內容,請更改其可見性。

如果您可以確信呈現頁面內容所需的時間,那么只需在WebBrowsers Loaded事件觸發后添加延遲即可。 您可能希望在各種設備上測試它。 也許可以添加一些額外的時間來確保。
如果您不知道需要多長時間,那么請留出足夠的時間來確保它將在大部分時間內加載,並且您不會在啟動時遇到任何市場認證要求。 如果出現此問題,您可能需要確保加載的第一個HTML頁面很簡單,然后逐步加載其余內容。

或者,您可以向頁面添加一些代碼,一旦文檔的主體已加載,它將通知主機頁面。

僅限網絡瀏覽器的應用程序無法獲得認證。

也就是說,您可以自己顯示圖像,直到WebBrowser上的LoadCompleted觸發為止。

你可以試試這個。

  1. 使用帶有z-index或/和絕對定位的css在html上顯示啟動圖像
  2. 在關閉正文之前,在頁面末尾放置一個元素
  3. 檢查元素是否存在。
  4. 如果元素存在,則可以刪除啟動畫面

我建議你刪除屏幕幾秒延遲,以便加載所有圖像

將此樣式放在<head>

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

把你的初始屏幕div放在<body>的開頭:

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

在關閉body標簽之前:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM