【发布时间】:2017-07-01 12:33:57
【问题描述】:
Windows 10 UWP 网页视图
我有两个 html 文件位于 Windows 10 UWP 中 Assets (Assets/www/xxx.html) 下的 www 文件夹中,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 对象嵌入到 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 为前缀,如下所示。
我已将路径更改为绝对等,并详细阅读了文档,但我不明白为什么这不起作用。
请大家出主意...
【问题讨论】:
-
如果提交与 index.html 位于同一文件夹中,则将您的 index.html 更改为显示为 ms-appx-web://Submit.html,它应该可以工作。
-
尝试了文件、URL 等的所有组合 - 全部在导航事件中可见,但没有显示页面。这两个文件在所有经过测试的浏览器上都能完美运行——我只是无法在 Web 视图中显示链接页面。我在 DOM 上的所有其他功能都可以正常工作。