我一直在开发一个与中继通信的Web浏览器(使用TCP连接)。中继将请求发送到指定的URL。然后,中继将下载的文档写入TCP流,客户端Web浏览器将其读取。但是,当客户端读取html文档返回并在WebBrowser控件中显示它时,它不会加载图像或CSS样式,因为它们相对于网页链接。
我认为问题在于此。如果以下网址的页面有此标记:
<img src="bg.png" />
而不是查看http://foo.bar/bg.png,网页浏览器不知道在哪里可以找到图片或样式,因此只会找到bg.png(显然找不到)。但是,这也提出了在使用带有图像的'Webbrowser.Navigate(string)'方法时如何动态加载网页的问题。
任何人都可以概述在将HTML文档加载到WebBrowsers中时如何做到这一点。
我使用此代码将html字符串加载到Web浏览器:
wb.DocumentText="0";
wb.OpenNew(true);
wb.Write("HTML");
wb.Refresh();