Web浏览器控件未加载图像

时间:2010-10-20 05:57:34

标签: c# javascript .net caching browser

我有一个webBrowser控件。 webBrowser控件中的HTML显示一些小图像(每个4kb)。但是,当我运行我的应用程序时,图像不会加载到webBrowser控件。此外,我已经使用javascript函数来保持刷新页面的某个时间间隔。

 function StartTimer(MS){ 
TimerObj = setTimeout("window.location.href=window.location.href;",MS); 
                }

并调用此onload。

<body onload="StartTimer(10000);">

此外,如果我按Ctrl + N,它会在外部IE浏览器中打开相同的页面。所有图像都在那里正确显示。一旦我执行此步骤然后再执行此操作,当webBrowser控件刷新页面时,所有图像也会显示在WebBrowser控件上。看来,当我按下Ctrl + N IE下载图像时,WebBrowser Control会从缓存中取出它。但我希望它能在第一时间显示出来。

感谢任何帮助。

谢谢。

2 个答案:

答案 0 :(得分:1)

我讨厌问,但你是否正在使用类似的东西导航到代码中的URL?

MyBroswer.Navigate(new Uri(@"http://someaddress.com));

答案 1 :(得分:0)

解决了..问题是网址。实际上流程是这样的。我第一次在queryString中向服务器发送请求以及InstanceID。我的Web服务器在发送响应时删除了InstanceID。没有InstanceID到服务器的任何后续请求都将失败。

故事的道德: (混淆场景的原因,其中图像没有显示在webBrowser控件内,但是当我按下Ctrl + N时它显示在IE中):根据我的理解(纠正我,如果我错了)当客户端请求页面到Web服务器时,第一个Web服务器响应html内容。客户端浏览器将显示html内容,如果内容有标记,浏览器首先检查缓存中的图像。如果它在缓存中找到它将显示否则它将向服务器发出另一个请求以获取图像。在我的情况下,第二个请求是由更改的URL发出的,因此它失败了。 (可能只是webBrowser控件的性质。)但IE工作正常。也许IE正在为所有后续请求使用初始URL。如果有人在这个问题上添加他们的评论并且让我明白,请感谢。

谢谢。