Yerel bir HTML dosyasını (görüntüler ve ... ile) WebView
içine yükleyebilir miyim?
Sadece Source
parametresini ayarlamak hile yapmaz.Yerel HTML'yi WebView'e yükleyin
cevap
sürece dosya uygulaması paketinin bir parçası, örneğin olduğu gibi bir dosyadan yükleyebilirsiniz:
WebView2.Source = new Uri("ms-appx-web:///assets/text.html");
WebView
, sana sonra dosyayı seçmek bir dizeye okuyup NavigateToString kullanmak dosya seçiciyi kullanarak kullanıcı istemi herhalde, ancak kullanıcı deneyimi size ne bağlı biraz garip olabilir Başarmaya çalışıyor. Ben uzun zamandır bu sorunun çalışıyordu ve bunu yapmak için bir yol bulmuşWebView.Navigate itibaren kullanarak uygulamanın paketinden içeriği yükleyebilirsiniz ms-appx-web: //, http/https kullanarak ağdan veya NavigateToString kullanarak dizesinden. İçerik, uygulamanın veri depolama biriminden içerik yükleyemiyor. Intranete erişmek için, uygulama bildiriminde ilgili uygunluk açık olmalıdır. Bir 'rastgele' dosya için
: İlk başta InstalledLocation
klasörüne kaydetmek gerekir. Yeni bir html dosyası oluşturma seçeneği değil varsa sadece benim örnek içine file.CopyAsync(htmlFolder, fname + ".html");
Bak kullanabilirsiniz:
StorageFolder htmlFolder = await Windows.ApplicationModel.Package.Current.InstalledLocation.CreateFolderAsync(@"HtmlFiles", CreationCollisionOption.GenerateUniqueName);
IStorageFile file = await htmlFolder .CreateFileAsync(fname + ".html", CreationCollisionOption.GenerateUniqueName);
ve kolayca .html dosyasını açabilirsiniz daha:
var fop = new FileOpenPicker();
fop.FileTypeFilter.Add(".html");
var file = await fop.PickSingleFileAsync();
if (file != null)
{
string myPath = file.Path.Substring(file.Path.IndexOf("HtmlFiles"));
myWebview.Navigate(new Uri("ms-appx-web:///" + myPath));
}
hatırla Sadece sadece InstalledLocation
dan ms-appx-web:///
ile açabilirim Alıntı ve bağlantı artık bir eşleşme olduğunu sanmıyorum. – Torleif