2017-02-13 18 views
1

のWindows 10 UWPのWebViewのWindows 10 UWP WebViewのローカルURLの問題

私は、Windows 10 UWPに資産(資産/ WWW/xxx.html)の下にwwwフォルダにある2つのHTMLファイル、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のオブジェクトは、

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

以下のようにのXmaIでembbededされ、インデックスページが正しく

/// 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などのすべての組み合わせを試しました。すべてがナビゲーションイベントで表示されますが、ページは表示されません。 2つのファイルは、テストされたすべてのブラウザで完全に機能します。リンクされたページはWebビューで表示できません。 DOM上の他のすべての関数は正常に動作します。 –

答えて

1

それが発生したが表示されないのナビゲーションイベントが

「GUID」

の下にショーとしてGUIDを前置するIトラップは、パッケージ名の場合現在のアプリケーションのデフォルト値はです。権限部分は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には、フォームデータを送信する2つの方法があります。 GetはURL文字列を介してフォームデータを送信し、postはフォームデータをサーバー経由で送信します。私の意見では、postメソッドは最初にデータをポストし、次にナビゲートし、データはサーバー側で処理されます。投稿されたフォームデータがHTMLページで受信されて処理されるのを見たことがないので、postメソッドを使用する必要はありませんでした。あなたがデータを受け取って、javascriptでそれらを扱うことができるメソッドを得るためには、hereのやり方です。

+0

はい、この問題を解決するための変更を修正しました。この情報をどこに寄せているのかは、MSのドキュメントでは問題ではないと尋ねられます。 –

+0

@SarahT、これは実際にはuwpの相対的な知識ではありません。申し訳ありませんが、uwpの関連文書についてもこの情報は見ていません。ちょうどHTML [フォーム](http:// html。ポストはサーバーサイドのサポートを必要とし、私はMVCプロジェクトの後ろにポスト要件コードを記述したコードを書く経験があったかもしれません。 –

+0

多くのありがとう - あなたは大きな助けになっています。 –

関連する問題