代码之家  ›  专栏  ›  技术社区  ›  Scott Hanselman

如何让用户在不启动浏览器的情况下浏览HTML/网站内容(需要内嵌浏览器)?

  •  11
  • Scott Hanselman  · 技术社区  · 14 年前

    我正在WindowsPhone7上创建一个应用程序,让人们可以阅读离线HTML内容。是否有显示内嵌浏览器或HTML查看控件的方法?

    2 回复  |  直到 9 年前
        1
  •  16
  •   Shimmy Weitzhandler 500 - Internal Server Error    9 年前

    这个 WebBrowser 控件允许您显示任意HTML。

    有两种方法 控件 可用于显示HTML的控件:

    1. Navigate() 将显示位于提供的URL处的文件的内容。此文件可以位于 IsolatedStorage 或者在服务器上。
    2. NavigateToString() 将显示您提供的HTML字符串。

    在你的情况下,我猜你会用 WebClient 对象将网页下载到脱机存储,然后 Navigate 方法来显示它。

    但是,它的好处是 NavigateToString 你可以在进来的路上细细地咀嚼这个字符串,做一些很酷(或者很重要)的事情,比如设计页面的风格,使其与当前的手机主题完美匹配,或者捕捉所有链接的点击,并使它们在外部浏览器中弹出(否则它们加载的内容完全相同) 控件 控制)。

    我已经记录了样式和链接点击的细节。 here .

        2
  •  4
  •   Matt Lacey    14 年前

    是的,有一个 WebBrowser 控制在 Microsoft.Phone.Controls

    如果您随后将(脱机)文件保存到 IsolatedStorage 然后,您可以通过如下代码调用来查看文件:

    webBrowser1.Navigate(new Uri("offline-file-name.html", UriKind.Relative));
    

    需要注意的事项:

    • 您可以使用独立存储中的目录。只需在URI中指定整个路径。

    • 如果在脱机页之间导航,则所有路径都必须是相对路径。