html - 将本地 HTML 文件/代码导入 WebBrowser

标签 html vb.net webbrowser-control

我试图让本地 HTML 文件显示在 VB.NET 程序的 WebBrowser 中。我正在使用下面的代码,但它似乎不起作用,而且我不明白为什么:

    'first method
    WebBrowser1.Navigate(@".\index.html");

    'second method
    HTML = "normal"
    WebBrowser1.Document.Body.InnerHtml = HTML

当我运行第一种方法时,它在调试控制台中产生错误“”。如果我在没有 @ 的情况下尝试,我会得到一个空白页面。但是,如果我更改地址,那么我知道它是一个损坏的 URL,我会收到一条 404 消息,这使得它看起来像是在找到文件但没有呈现它?

第二种方法与第一种方法相同,只是没有产生错误,就像找到文本但什么都不做一样。

在这两个示例中,我都尝试了以下 HTML 和纯文本变体:

<b>bold</b>normal

normal

为什么这个简单的代码不起作用?

最佳答案

@ 用于 C#; VB.NET 不需要它,因为 VB.NET 有一个不同的(阅读:更好的 :-))字符串转义系统。因此,删除字符串前的 @,并删除行后的 ;,这也是 C#。

问题是,因为您使用的是 WebBrowser,所以您需要一个 file:/// URL。您可以做几件事,其中最简单的可能是将您的 WebBrowser 指向 about:blank 并直接将文件放入,如下所示:

WebBrowser1.Document.Write(IO.File.ReadAllText("index.html"))

例如。您还可以获取文件的绝对路径,并使用它:

WebBrowser1.Navigate("file:///" & IO.Path.GetFullPath(".\index.html"))

关于html - 将本地 HTML 文件/代码导入 WebBrowser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8405608/

相关文章:

javascript - jquery 复选框被选中/取消选中一次,如果我再试一次,它不起作用

javascript - 为什么 javascript css 样式适用于第一种情况而不适用于第二种情况?

.net - 与列表(字符串)连接

c# - 在 WebBrowser 中使用来自 CookieContainer 的 cookie

c# - 自动化表单字段输入和网页结果检查的程序

javascript - 带有 Webbrowser 控件和 Javascript 的 VBS 应用程序

html - 居中标题上的 CSS 伪元素下划线

html - 以最大宽度和侧边距%居中内容

mysql - 在 Telerik radrotator(legand) 中,日期绑定(bind)为 system.byte

vb.net - 计算visual basic中两个日期之间的工作日数