Piszę aplikację C# za pomocą formantu WebBrowser i chcę, aby cała zawartość wyświetlana pochodziła z zasobów osadzonych - nie statycznych plików lokalnych, a nie plików zdalnych.C# WebBrowser HTML z odwołaniami do skryptów i obrazów
Ustawienie początkowe teksty kontrolą do osadzonego pliku HTML działa świetnie z tym kodem zainspirowany this post:
browser.DocumentText=loadResourceText("myapp.index.html");
private string loadResourceText(string name)
{
Assembly assembly = Assembly.GetExecutingAssembly();
Stream stream = assembly.GetManifestResourceStream(name);
StreamReader streamReader = new StreamReader(stream);
String myText = streamReader.ReadToEnd();
return myText;
}
Tak dobre, jak to jest, pliki, o których mowa w HTML - JavaScript, obrazów jak <img src="whatever.png"/>
itp., nie działają. Znalazłem podobne pytania: here i here, ale żadne z nich nie wymaga zadeklarowania dokładnie co mam na myśli, a mianowicie odnosząc się do osadzonych zasobów w pliku exe, a nie plików.
Próbowałem res://...
i przy użyciu <base href='..."
, ale nie wydawało się działać (choć może nie mam tego dobrze).
Być może (kierując się moją własną propozycją na temat this question), używanie tylko trochę wbudowanego serwera C# jest jedynym sposobem ... ale pomyślałem, że jest jakaś sztuczka, żeby to osiągnąć?
Dzięki!