Приложение WebView показывает пустую страницу

Я создал простое современное приложение с пользовательским интерфейсом, которое отображает содержимое сайта localhost в WebView при загрузке приложения. Приложение отлично работает, когда я отлаживаю его. Я развернул его на другом компьютере с помощью Visual Studio Remote Tools, и он работает как положено.

Однако, когда я публикую его в магазине Windows, а затем установлю приложение оттуда, страница останется пустой. Название приложения в магазине называется Locked Browser Lite.

Буду признателен за любые предложения.

Вот код:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;

// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238

namespace App3
{
    /// <summary>
    /// An empty page that can be used on its own or navigated to within a Frame.
    /// </summary>
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
            this.Loaded += PageLoaded;
            this.Unloaded += PageUnloaded;

            wvMain.HorizontalAlignment = HorizontalAlignment.Stretch;
            wvMain.VerticalAlignment = VerticalAlignment.Stretch;

            //wvMain.Source = new Uri("http://localhost");
        }

        private void PageUnloaded(object sender, RoutedEventArgs e)
        {
            Window.Current.SizeChanged -= Window_SizeChanged;
        }

        private void PageLoaded(object sender, RoutedEventArgs e)
        {
            Window.Current.SizeChanged += Window_SizeChanged;

            Uri targeturi = new Uri("http://localhost");
            wvMain.Navigate(targeturi);
            //wvMain.Refresh();
        }

        private void Window_SizeChanged(object sender, Windows.UI.Core.WindowSizeChangedEventArgs e)
        {
            wvMain.HorizontalAlignment = HorizontalAlignment.Stretch;
            wvMain.VerticalAlignment = VerticalAlignment.Stretch;
        }

        private void btnReload_Click(object sender, RoutedEventArgs e)
        {
            PageLoaded(sender, e);
        }
    }
}

1 ответ

Что такое localhost?

Я попробовал ваше приложение, и да, оно пустое. Из-за запрошенного URL-адреса вы запрашиваете ваше приложение для перехода на локальный хост, пока у меня нет локального сервера на моей машине!

Если у вас есть какая-то пользовательская страница HTML, чтобы показать ее своим пользователям, попробуйте сделать ее доступной в автономном режиме в виде файла HTML, и используйте webview.NavigateToString(считайте html из файла) .

Другие вопросы по тегам