3

由于某种原因,一个简单的 WebKitBrowser1.Navigate(localfilehere) 不起作用。

我尝试在 URL 中添加“file://”,但这也不起作用。

这看起来很荒谬,但这个功能真的不存在吗?

4

7 回答 7

5

看起来您输入了错误的网址。您可以通过以下方式检查

Uri.IsWellFormedUriString

原因之一 - 您将字符串与国家符号放在一起。

在这种情况下,之前的答案并不能解决您的问题,因为您还应该对 url 进行编码。

您可以使用System.Web.HttpUtility.UrlEncode它,然后应用X Enterprises之前描述的解决方案(但您不应该替换空格 - 它已经通过编码完成)。

但获得正确网址的最简单方法是

string url = new Uri(pathToFile, UriKind.Absolute).AbsoluteUri;
于 2012-05-31T11:11:17.540 回答
3

“file://”是正确的协议。要获取文件,请说...“c:\temp\test.html”,您可以尝试以下操作:

“文件://c/temp/test.html”

请注意驱动器号后面的正斜杠和不存在冒号。

于 2011-01-27T01:10:17.400 回答
2

WebKit.Net 0.5Navigate()函数将字符串作为其参数(本地/网络文件)。对于例如本地文件:c:\xxx\yyy zzz.htm可以传递给导航功能如下: -

dim sFile As String = "c:\xxx\yyy zzz.htm"
Dim url as new Uri(sFile, UriKind.Absolute)

'Now pass the file's required formatted absolute path
WebKitBrowser1.Navigate(url.AbsoluteUri)
于 2012-12-13T19:00:15.020 回答
1

假设 index.html 在 bin/debug 文件夹中

使用 "file:///"+Environment.CurrentDirectory.Replace(@"\",@"/")+"/index.html"

假设 index.html 在 bin/debug 中并创建了像 www 这样的文件夹

使用 "file:///"+Environment.CurrentDirectory.Replace(@"\",@"/")+"/www/index.html"

于 2012-07-04T05:10:41.600 回答
1

创建一个示例 HTML 页面。上传到我的资源中。

使用此代码:WebKitBrowser1.document.write(my.resources.page.html)

于 2011-10-20T21:55:26.253 回答
1

我找到了解决您问题的方法:

1.) 确保路径以“file:///”开头
2.) 确保使用文件的完整路径
3.) 确保将所有反斜杠更改为正斜杠
4.) 确保替换所有空格,“ ", with "%20"
5.) 确保文件以 ".html" 结尾

因此,此处的文件:
“C:\Program Files\test.html”
需要变为:
“file:///C:/Program%20Files/test.html”

希望这可以帮助。

于 2011-02-27T01:43:00.230 回答
0

在 Google Chrome 中,您可以通过输入 file:/// 后跟文件的完整路径来打开本地文件,因此您可能需要在 Webkit 上使用相同的运算符。

于 2011-01-05T17:29:55.177 回答