【问题标题】:Web Browser control is not loading imagesWeb 浏览器控件未加载图像
【发布时间】:2010-10-20 05:57:33
【问题描述】:

我有一个 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 Control 刷新页面时,所有图像也会显示在 WebBrowser Control 上。看来,当我按 Ctrl+N IE 下载图像时,WebBrowser Control 正在从缓存中获取它。但我希望它在第一时间显示。

感谢任何帮助。

谢谢。

【问题讨论】:

    标签: c# javascript .net caching browser


    【解决方案1】:

    我不想问,但您是否使用类似的方式导航到代码中的 URL?

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

    【讨论】:

    • 感谢您的回复 kyndigs。我将 URi 属性动态设置为 belwo。 WbOutstandingQ.Url = new Uri(StrUrl);
    【解决方案2】:

    已解决.. 问题是 URL。其实流程是这样的。我第一次在 queryString 中连同 InstanceID 一起向服务器发出请求。我的 Web 服务器在发送响应时删除了 InstanceID。任何后续对服务器的没有 InstanceID 的请求都将失败。

    故事的寓意: (令人困惑的场景的原因,其中图像未显示在 webBrowser 控件中,但当我按下 Ctrl+N 时它显示在 IE 中):根据我的理解(如果我错了,请纠正我)当客户端向 Web 服务器请求页面时,第一个 Web 服务器响应 html 内容。客户端浏览器将显示 html 内容,如果内容有标签,浏览器首先检查缓存中的图像。如果它在缓存中找到,它将显示,否则它将向服务器发出另一个请求以获取图像。就我而言,第二个请求是由更改的 url 发出的,因此它失败了。 (可能是它只有 webBrowser 控件的性质。)但是 IE 工作正常。也许 IE 正在为所有后续请求使用初始 URL。如果我错了,如果有人对此发表评论并让我清楚,请感谢。

    谢谢。

    【讨论】:

      猜你喜欢
      • 2021-12-08
      • 2017-08-28
      • 2019-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-10
      • 2017-02-27
      相关资源
      最近更新 更多