使用WebBrowser小部件创建一个包装HTML 5 Web应用程序的Windows Phone 7应用程序。
在WebBrowser完全呈现网页之前,有没有办法保持启动画面(splashscreenimage.jpg)? (它在呈现页面之前显示为白色)
答案 0 :(得分:2)
显示默认屏幕截图图像,直到加载了应用程序中的第一页。在此之后,内容已经完成呈现。
WebBrowser
控件作为Loaded
事件,但这与已呈现的页面内容不同。 (如果页面内容很复杂并且需要时间来完全呈现,这将导致白/空白屏幕显示的时间长度。)
您需要实现自己的启动画面才能获得您想要的效果。在XAML而不是HTML中执行此操作,否则您的HTML启动画面将遇到与现在相同的问题。将图像添加到与WebBrowser相同的页面,但将其放在WebBrowser控件的顶部。一旦您知道已经显示了基础内容,就更改其可见性。
如果您可以确信呈现页面内容所需的时间,那么只需在WebBrowsers Loaded事件触发后添加延迟即可。您可能希望在各种设备上测试它。也许可以加一点额外的时间来确保。
如果您不知道需要多长时间,那么请留出足够的时间来确保它将在大部分时间内加载,并且您不会在启动时遇到任何市场认证要求。如果出现这个问题,您可能需要确保加载的第一个HTML页面很简单,然后逐步加载剩余的内容。
或者,您可以向页面添加一些代码,这些代码将在文档正文已加载后通知托管页面。
答案 1 :(得分:0)
仅限网络浏览器的应用无法获得认证。
也就是说,您可以自己显示图像,直到WebBrowser上的LoadCompleted触发为止。
答案 2 :(得分:0)
你可以试试这个。
我建议您在几秒钟内删除屏幕,以便加载所有图像
答案 3 :(得分:0)
将此样式放在<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>