【问题标题】:Opening local files in Webkit .NET在 Webkit .NET 中打开本地文件
【发布时间】:2011-01-05 17:06:42
【问题描述】:

一个简单的 WebKitBrowser1.Navigate(localfilehere) 由于某种原因无法正常工作。

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

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

【问题讨论】:

    标签: .net vb.net webkit webkit.net


    【解决方案1】:

    看起来你输入了错误的网址。您可以通过

    查看
    Uri.IsWellFormedUriString
    

    其中一个原因——你把字符串加上国家符号。

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

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

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

    string url = new Uri(pathToFile, UriKind.Absolute).AbsoluteUri;
    

    【讨论】:

      【解决方案2】:

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

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

      注意正斜杠和驱动器号后面没有冒号。

      【讨论】:

        【解决方案3】:

        WebKit.Net 0.5 Navigate() 函数将字符串作为其参数(本地/网络文件)。对于本地文件,例如: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)
        

        【讨论】:

          【解决方案4】:

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

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

          所以,这里有一个文件:
          "C:\Program Files\test.html"
          需要变成:
          "file:///C:/Program%20Files/test.html"

          希望这会有所帮助。

          【讨论】:

            【解决方案5】:

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

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

            【讨论】:

              【解决方案6】:

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

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

              假设 index.html 在 bin/debug 中并创建了类似 www 的文件夹

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

              【讨论】:

                【解决方案7】:

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

                【讨论】:

                • 您是否也将文件名中的所有反斜杠更改为正斜杠? file:///C:/Folder/SubFolder/Test.html
                • 我遇到了同样的问题,我正在更改斜杠。我可以使用 webkitBrowser.Navigate 来显示一些 html 文件,但是我无法加载从此 html 引用的 javascript。因此,例如,我无法包含 jquery。
                猜你喜欢
                • 1970-01-01
                • 2014-12-08
                • 1970-01-01
                • 2015-07-02
                • 1970-01-01
                • 2012-03-06
                • 1970-01-01
                • 1970-01-01
                • 2011-08-22
                相关资源
                最近更新 更多