簡體   English   中英

Windows 10 UWP Webview 本地url問題

[英]Windows 10 UWP Webview local url problems

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”頁面,它只是空白。

如果我捕獲導航事件,它確實會發生,但似乎以 GUID 為前綴,如下所示。

在此處輸入圖片說明 我已將路徑更改為絕對路徑並詳細閱讀文檔,但我不明白為什么這不起作用。

想法請伙計們...

如果我捕獲導航事件,它確實會發生,但似乎以 GUID 為前綴,如下所示

“GUID”是當前應用程序的包名,它是URI 方案授權部分的默認值。 所以如果你只想導航到另一個頁面,這個絕對路徑是正確的。 可以通過代碼NavigateWebview(@"ms-appx-web://{your package name}/Assets//www/submit.html");

頁面加載並正確顯示,但不會顯示鏈接的“submit.html”頁面,它只是空白

對於您的問題,我將form方法更改為get ,它將起作用。

<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有兩種提交表單數據的方法。 Get 通過 URL 字符串發送表單數據,post 通過服務器發送表單數據。 在我看來,post方法是先發布數據然后導航,數據在服務器端處理。 我還沒有看到在 HTML 頁面上接收和處理發布的表單數據,所以我猜你不需要使用 post 方法。 對於 get 方法,您可以接收數據並在 javascript 中處理它們, 是如何做的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM