2017-02-13 10 views
1

для Windows 10 UWP Webviewдля Windows 10 UWP Webview проблемы локального URL

У меня есть два HTML-файлы, расположенные в папке WWW под Assets (Активы/WWW/xxx.html) в Windows 10 UWP, оба файла в VS 2015 будут скопированы в выходной каталог.

index.html 

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>Simple Script</title> 
</head> 

<body> 
    <form action="submit.html" method="post"> 
    Data:<input type="text" name="somedata" > <br> <br> 
    <input type="submit" value="Submit" > 
    </form> 
</body> 
</html> 

and submit.html 

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>Dummy Submission</title> 
</head> 

<body> 
    <h2> Your data has been submitted - Thank You. </h2> 
</body> 
</html> 

Webview объект embbeded в XMAL, как показано ниже

<WebView x:Name="WebBrowser" HorizontalAlignment="Left" VerticalAlignment="Top" Height="532" Width="1014" NavigationStarting="WebBrowser_NavigationStarting"/> 

А индекс страницы загружается

/// Helper to perform the navigation in webview 
    /// </summary> 
    /// <param name="url"></param> 
    private void NavigateWebview(string url) 
    { 
     try 
     { 
      Uri targetUri = new Uri(url); 
      WebBrowser.Navigate(targetUri); 
     } 
     catch (FormatException myE) 
     { 
      // Bad address 
      WebBrowser.NavigateToString(String.Format("<h1>Address is invalid, try again. Details --> {0}.</h1>", myE.Message)); 
     } 
    } 


NavigateWebview(@"ms-appx-web:///Assets/www/index.html"); 

страницы, загружает и отображает правильно, но это не будет отображать связанная страница 'submit.html', ее просто пустое.

Если я улавливаю событие Navigation, это происходит, но, как представляется, префикс GUID показан ниже.

enter image description here Я изменил пути к абсолютным и т. Д. И подробно прочитал документы, но я не понимаю, почему это не работает.

Идея Пожалуйста Ребята ...

+0

, если submit находится в той же папке, что и index.html, а затем измените index.html, чтобы показать как ms-appx-web: //Submit.html, и он должен работать. – AVK

+0

Пробовал все комбинации файлов, URL и т. Д. - все они видны в навигационном событии, но страница не отображается. Эти два файла отлично работают во всех проверенных браузерах - я просто не могу показать связанную страницу в веб-представлении. Все мои другие функции на DOM работают нормально. –

ответ

1

Если я ловушка навигация событие это действительно происходит, но, как представляется, предваряться GUID, как показано ниже

«GUID» это имя пакета текущего приложения, это значение по умолчанию Управление часть URI schemes. Поэтому, если вы хотите только перейти на другую страницу, этот абсолютно правильный путь. Вы можете проверить с помощью кода NavigateWebview(@"ms-appx-web://{your package name}/Assets//www/submit.html");

страница загружается и отображается правильно, но он не будет отображаться связанный «submit.html» страницы, его просто пустой

Для вашего вопроса, я изменить метод form до получите, он будет работать.

<form action="submit.html" method="get" id="myform"> 
    Data:<input type="text" name="somedata"> <br> <br> 
    <input type="submit" value="Submit"> 
</form> 
<a href="submit.html">Please Click Me to jump</a> 

form имеет два метода для завершения заполнения данных формы. Получает отправку данных формы через строку URL, post отправляет данные формы через сервер. По-моему, сначала отправляйте данные почтового метода, а затем перемещайтесь, а данные обрабатываются со стороны сервера. Я не видел опубликованных данных формы, полученных и обработанных на HTML-странице, поэтому, я думаю, вам не нужен метод post post. Для получения метода вы можете получать данные и обрабатывать их в javascript, here - как это сделать.

+0

Да, вы правы, чтобы устранить эту проблему, могу ли я спросить, где вы отклонили эту информацию, поскольку я не рассматривал ее как проблему в документах ms. –

+0

@SarahT, это не относительное знание uwp. Прошу прощения, я также не видел эту информацию по относительным документам uwp. Просто согласно HTML [form] (http: // html.com/attributes/form-method /), что сообщение требует поддержки на стороне сервера, и, возможно, у меня был опыт написания кода с кодом требований к сообщениям в проекте MVC. –

+0

Многие спасибо - вы очень помогли. –

 Смежные вопросы

  • Нет связанных вопросов^_^