Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

В элементе управления WebBrowser есть два метода для отображения HTML:

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

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

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

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

Ответ 2

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

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

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

Примечания:

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

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