Laden...

WebBrowser-Control verwendet JavaScript auf Webseite falsch (neuladen anstatt toggle)

Erstellt von masterchris_99 vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.149 Views
M
masterchris_99 Themenstarter:in
89 Beiträge seit 2006
vor 12 Jahren
WebBrowser-Control verwendet JavaScript auf Webseite falsch (neuladen anstatt toggle)

Hallo,

wenn ich ein WebBrowser Control auf meine Form ziehe und z. B. auf die Webseite http://www.businessdeutschland.de navigiere dann kann ich die Schaltfläche "Erweiterte Suche" nicht verwenden. Dahinter steckt ein Javascript welches ein DIV oder so toggelt.

Klicke ich im Control diese Schaltfläche an lädt die Seite einfach neu. Sie führt also nicht das Javascript aus. Dazu ist nichts programmiert oder so. Ich will einfach nur das der Anwender diese Schaltfläche wie in einem normalen Browser anklicken kann.

P.S.

  1. im normalen IE geht es ohne Probleme
  2. ScriptErrorsSupressed habe ich schon mit False oder True probiert

Chris

3.170 Beiträge seit 2006
vor 12 Jahren

Hallo,

zunächst ist "Erweiterte Suche" ein ganz normaler Link, der erst per Javascript gegen die Toggle-Funktion ausgetauscht wird.
Die Stelle ist die hier:

	<script type="text/javascript">
		if (!(window.navigator.userAgent.indexOf("MSIE 7") > -1 || window.navigator.userAgent.indexOf("MSIE 6") > -1))
			gE('id_eslink').href="javascript:toggle_display('id_eslink','es_main')";
	</script>

Nun hast Du das Problem, dass sich das WebBrowser-Control sich scriptseitig als MSIE 7 ausgibt (auch wenn Du eigentlich eine höhere IE-Version installiert hast), der Austausch somit nicht stattfindet, und "Erweiterte Suche" ein ganz normaler Link bleibt.
Ob Du das Control dazu überreden kannst, das anders zu machen, weiss ich leider nicht, aber ich denke die Chancen sind eher schlecht.

Gruß, MarsStein

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

M
masterchris_99 Themenstarter:in
89 Beiträge seit 2006
vor 12 Jahren

Danke für den Hinweis. Das hat mir schon mal sehr gut weitergeholfen.
Nun brauche ich nur noch einen Workaround... 😃

Das sieht ganz gut aus:
What UserAgent is reported by the WebBrowser control?

So gerade getestet und es geht mit dem Registry-Eintrag

3.170 Beiträge seit 2006
vor 12 Jahren

Hallo,

über WebBrowser.Document kommst Du ans DOM. Da köntest Du den Link dann selbst entsprechend austauschen.

EDIT: Das halte ich für weniger aufwändig und verträglicher als in der Registry rumzumachen.

Gruß, MarsStein

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca