Hallo,
ich haabe zur Laufzeit einen Process gestartet, welcher den IE öffnet. Nun möchte ich ein refresh an den geöffneten IE schicken, damit er die Seite neu lädt. Entweder seh ich den Wald vor lauter Bäumen nicht, aber ich habe noch keine Lösung gefunden.
Kann mir jemand helfen.
folgender Code:
private void OpenIE()
{
if (!String.IsNullOrEmpty(data))
{
if (String.IsNullOrEmpty(_file))
{
_file = Path.GetTempFileName();
_file = Path.ChangeExtension(_file, "html");
}
File.WriteAllText(_file, data);
if(_p==null)
_p = Process.Start(_file);
else
//hier nur ein refresh senden, keinen neuen IE öffnen
}
}
danke
serial
Hallo,
Du könntest es versuchen ,wie in Refresh browser's page programmatically, from a .Net WinForms application, und Dir ggf. FindWindow
zu sparen und stattdessen MainWindowHandlle
Deines Prozesses zu benutzen.
Aber warum eigentlich ein IE, und nicht ein WebBrowser (Forms)- bzw. WebBrowser (WPF)- Control? Da hättest Du's viel einfacher. Das bringt sogar schon eine eigene Refresh-Methode mit 😃
Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
Hallo MarsStein,
ich bekomme in einem Webbrowser-Control Javascriptfehler, welche mit dem gleichen HTML weder im IE, FF,Opera oder Chrome auftreten. Darum habe ich mich davon erstmal verabschiedet, da ich keine Ansatzpunkte zur Behebung der JS-Fehler habe. (das HTML ist nicht von mir erzeugt, hat aber wie gesagt in allen anderen Browsern keine Fehler, nur in dem Control)
Wenn du dazu einen Tipp hast, gern 😃
mfg
serial
ich bekomme in einem Webbrowser-Control Javascriptfehler,
Was genau bedeutet das für deine Anwendung? Funktioniert die angezeigte Seite nicht richtig oder stören nur die Meldungen? Das WebBrowser-Control hat auch eine Einstellung, Scriptfehler nicht anzuzeigen (WebBrowser.ScriptErrorsSuppressed).
Hallo,
leider funktioniert dann die Seite nicht.
Welche JS-Engin benutzt denn das Control? Bzw kann man da noch irgendwie Kontrolle übernehmen?
Denn in allen Browsern bringt das selbe HTML keinen Fehler.
mfg
serial
.NET schiebt nur nen Wrapper über den installierten IE (steht auch in der MSDN).
Alternativen findet man sehr einfach übel Google. Replacing .NET WebBrowser control with a better browser, like Chrome?
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
hei danke.
Wenn wirklich nur nen wrapper drüber ist, wieso bringt das control einen JS-Fehler, wohin der IE den nicht bringt?
mfg
serial
Weil die Anzeige von Fehlern im Browser abgeschaltet ist, während es im .NET-Control standardmäßig eingeschaltet ist.
Du kannst es einfach abschalten.
Zum Wrapper: Du kannst ja testen, ob es die selben Elemente sind, indem du einen Rechtsklick machst. Da siehst du in beiden Fällen ein identisches Menü.