Как я позволяю пользователю просмотреть содержание HTML/веб-сайта, не запуская браузер (нуждайтесь во встроенном браузере)?

Я создаю приложение на Windows Phone 7, который позволяет людям считать офлайновое содержимое HTML. Существует ли способ показать встроенный браузер или управление просмотром HTML?

11
задан Scott Hanselman 3 August 2010 в 08:25
поделиться

2 ответа

Элемент управления WebBrowser позволяет отображать произвольный HTML.

Есть два метода в элементе управления WebBrowser, которые можно использовать для отображения HTML:

  1. Navigate() отобразит содержимое файла, расположенного по указанному URL. Этот файл может находиться в IsolatedStorage или на сервере.
  2. NavigateToString() отобразит html-строку, которую вы ему зададите.

В вашем случае я предполагаю, что вы используете объект WebClient для загрузки веб-страницы в автономное хранилище, а затем метод Navigate для ее отображения.

Однако преимущество метода NavigateToString в том, что вы можете изменить строку на пути внутрь, чтобы сделать некоторые крутые (или необходимые) вещи, например, стилизовать страницу, чтобы она идеально соответствовала текущей теме телефона, или перехватить все нажатия на ссылки и сделать их всплывающими во внешнем браузере (иначе они загружаются в том же самом элементе управления WebBrowser).

Я задокументировал детали стилизации и перехвата ссылок здесь.

16
ответ дан 3 December 2019 в 05:56
поделиться

Да, есть элемент управления WebBrowser в Microsoft.Phone.Controls

Если вы затем сохраните ваши (автономные) файлы в IsolatedStorage, вы можете затем просмотреть файл через вызов, подобный этому из кода:

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

Вещи, которые следует отметить:

  • Вы можете использовать каталоги в изолированном хранилище. Просто укажите полный путь в Uri.

  • При навигации между автономными страницами все пути должны быть относительными.

4
ответ дан 3 December 2019 в 05:56
поделиться