我在Windows CE设备上使用.net紧凑框架webbrowser控件。 .Net应用程序在不同的线程下在设备上运行Web服务器。 webbrowser按照正常的浏览器功能与Web服务器交互。 问题是,当请求页面时,屏幕并不总是显示,直到有一些浏览器事件。
一个例子是我在页面的脚本中放置了一个Javascript alert(...)语句。屏幕将显示空白,并显示消息,当您单击确定时,将显示整页
另一个例子是当用户导航时页面变为空白。单击屏幕上的任意位置,将显示该页面。
似乎页面正在加载但是webbrowser控件已被锁定,并且在有用户事件之前不会显示任何内容。
DocumentCompleted()事件触发,在那个事件中我尝试了
webBrowser.Invalidate();
webBrowser.Update();
webBrowser.Refresh();
但是,在用户用手写笔点击屏幕之前,页面才会显示。
答案 0 :(得分:2)
确定需要一个事件才能显示代码我将此代码放在页面加载的末尾。
setTimeout(function(){
window.scrollTo(0,0);
}, 1);
解决了这个问题。
答案 1 :(得分:0)
使用WebBrowser控件的DocumentCompleted事件,如下所示:
private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
// hack for Windows CE based devices in order to get the page load right
webBrowser.Width--;
webBrowser.Width++;
}