2016-02-25 34 views
7

私は、UWPのxaml WebViewのアプリケーションデータフォルダからhtmlファイルをロードする必要があります。 Htmlファイルは別のフォルダ( "99/js /")内の異なるJsファイルも参照しています。 UWPの知識を持つ人は私を導きます。事前にありがとう 私は次のコードを使用していますBrowserは私のWebViewです。WebViewのxamlのHtmlファイルをUWPのアプリケーションデータのローカルフォルダからロードする

var Uri = new Uri("ms-appdata:///Local/Downloads/99/index.html"); 
    Browser.Navigate(Uri); 

99フォルダ内のマイフォルダ構造は次のとおりです。 udapte
私は、サーバーのURLをロードしているのと同じHTMLファイルをロードしていないのWebViewにオフラインでロードhtmlファイルをしようとしています。オフライン時WebViewindex.htmlをロードするために

+2

具体的な問題を明確にしたり、必要なものを正確に強調するための追加情報を提供してください。現在書かれているとおり、あなたが求めていることを正確に伝えるのは難しいです。 –

+0

Htmlファイルはwebview.youで上記の私のフォルダ構造を見ることができます私はindex.htmlをロードしようとしています – arun

答えて

9

、あなたはindex.htmlで使用されるすべてのリソースが正しくアプリのLocalFolderに位置していることを確認する必要があります。 これらすべてのコンテンツは、ローカルフォルダのサブフォルダに配置する必要があります。

文献WebView class備考

ms-appdata schemeを使用していますUriNavigateメソッドを使用し、あなたのアプリのLocalFolderTemporaryFolderデータストアから非圧縮と暗号化されていないコンテンツをロードします。 WebViewこのスキームのサポートでは、コンテンツをローカルフォルダまたは一時フォルダの下のサブフォルダに配置する必要があります。これにより、ms-appdata:/// local/フォルダ/ file.htmlおよびms-appdata:/// temp/フォルダ/ file.htmlなどのURIへのナビゲーションが可能になります。 (NavigateToLocalStreamUriを参照して、圧縮または暗号化されたファイルをロードする。)

は、例えば、私はcssフォルダに簡単なjsフォルダにindex.jsを使用index.htmlindex.cssを作成しました。

index.htmlを

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
    <meta charset="utf-8" /> 
    <script src="js/index.js"></script> 
    <link href="css/index.css" rel="stylesheet" /> 
</head> 
<body> 
    <button id="myBtn">Click Me!</button> 
    <div id="myDiv"></div> 
</body> 
</html> 

index.js

window.onload = function() { 
    document.getElementById("myBtn").onclick = function() { 
     document.getElementById("myDiv").innerHTML += "You have clicked once! <br>"; 
    } 
} 

インデックス。CSS次のように彼らは私のアプリのlocalfolder。ここに位置

#myDiv { 
    border: 2px dotted black; 
    width: 500px; 
    height: 500px; 
} 

:これはうまく機能

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
    <WebView x:Name="Browser" /> 
</Grid> 
protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    Browser.Navigate(new Uri("ms-appdata:///local/Downloads/index.html")); 
} 


enter image description here

をその後、私のUWPのアプリでは、私は次のコードを使用しました:
enter image description here
あなたのhtmlファイルがロードされていない場合、あなたのアプリのLocalFolderをチェックして、あなたのhtmlファイルとリソースが正しい場所にあることを確認してください。

ローカルマシン上の

、データファイルがフォルダに保存されてい

%USERPROFILE%\のAppData \ローカル\パッケージ\ {のPackageID}通常Cである

: \ Users \ {UserName} \ AppData \ Local \ Packages \ {PackageId}{UserName}はWindowsユーザー名に対応し、{PackageId}は、Windowsストアのアプリケーションパッケージ識別子に対応し、Package family nameパッケージというタブをアプリケーションのマニフェストファイルに含めることができます。パッケージフォルダ内のLocalStateフォルダはLocalFolderです。

モバイルエミュレータでは、IsoStoreSpyまたはWindows Phone Power Toolsなどのツールを使用してLocalFolderを確認できます。

htmlファイルを読み込むことができますが、CSSスタイルが欠けているようなリソースがある場合は、htmlコードを確認して参照が正しいかどうかを確認する必要があります。

+0

あなたは[その他の場所](http://stackoverflow.com/a/28227571/426227)。しかし、このアプローチは、xslファイルのxmlでは機能しないようです... – testing

関連する問題