2

我有以下代码片段:

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

顺便说一句,webBrowser1 在程序的其他地方全局定义。同样,“newurl”是在其他地方全局定义的有效 url。

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

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

webbrowser1.Navigate(newurl);

目标页面显示得很好。

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

显然我错过了一些东西。

有什么想法吗?

问候,吉姆

4

1 回答 1

1

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

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

于 2012-06-02T23:09:41.423 回答