我正在尝试使用webclient检索网页html并在C#中使用webbrowser显示它

时间:2012-06-02 22:49:48

标签: browser webclient

我有以下代码段:

WebClient client = new WebClient();
String htmlCode = client.DownloadString(newurl);
webBrowser1.DocumentText = htmlCode;

BTW,webBrowser1在程序的其他地方定义。同样,“newurl”也是在其他地方全球定义的有效网址。

WebClient获取完整的html,我使用DocumentText传递给webbrowser1。

这个结果是各种链接,语法,远程javascript和其他错误,好像html已损坏。但是,如果我使用

webbrowser1.Navigate(newurl);

目标页面显示正常。

我正在获取源html,因此我可以在显示之前进行更改。

显然我错过了一些东西。

有什么想法吗?

此致 吉姆

1 个答案:

答案 0 :(得分:1)

webBrowser1.DocumentText = htmlCode;将仅设置HTML,但不会加载任何链接的资源,例如JS,图像,CSS,....

如果你想做,你似乎想做什么,你可以,例如通过WebClient加载HTML,重写它(这包括将相对路径更改为绝对路径或设置基本URL),将其写入文件,然后webbrowser1.Navigate("file://path/to/file");