AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke IE10: Quirks-Modus verlassen
Thema durchsuchen
Ansicht
Themen-Optionen

IE10: Quirks-Modus verlassen

Ein Thema von Caps · begonnen am 2. Mai 2013 · letzter Beitrag vom 3. Mai 2013
Antwort Antwort
Caps

Registriert seit: 23. Mär 2006
Ort: Leipzig
299 Beiträge
 
#1

IE10: Quirks-Modus verlassen

  Alt 2. Mai 2013, 15:00
Schönen Nachmittag,

wie verlasse ich programmatisch den Quirks-Modus des IE10, wenn ich ihn per TWebBrowser in mein Programm eingebunden habe?

Lt. http://www.delphipraxis.net/132431-twebbrowser-ie8.html existiert ein Schlüssel, der in der Registry angelegt werden muss, damit das klappt.
Da es nicht klappte, würde ich http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx nun eher Glauben schenken, auch wenn ich nicht weiß, ob ich richtig verstanden habe, dass der Registry-Wert FEATURE_NATIVE_DOCUMENT_MODE ersatzlos entfällt ().

Doch anders gefragt: was kann ich tun? Ich habe gemerkt, dass ein JS-Fehler ("Mitglied nicht gefunden") auftritt, wenn ich den IE10 in die Kompatibilitätsansicht (das ist doch der Quirks-Mode, gel?) schalte; selbiger Fehler tritt auch in meinem Programm auf, in dem ich den TWebBrowser verwende. Ich muss also in meinem Programm den Quark-Modus verlassen - nur wie?

Herzlichen Dank im Vorraus für irgendwelche Vorschläge!

lg Caps
"Der Mode cmCFS8 ist prohibitär und von mir entwickelt."
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: IE10: Quirks-Modus verlassen

  Alt 2. Mai 2013, 16:21
Kompatibilitätsansicht heißt nicht automatisch Quirks-Mode. Das kann auch der IE9 Modus standardkonform sein. Und der TWebBrowser nimmt nicht unbedingt die aktuelle Version. Im IE 10 siehst du in der Debugansicht (F12) auch in welchem Modus sich der Browser befindet.

Wenn der Browser in den Quirksmodus geht, heißt das, dass ein Fehler auf der Seite vorliegt, diese also nicht sauber programmiert ist. Den kann man AFAIK dann auch nicht wieder verlassen, außer indem man die Seite korrigiert.

Wenn du den Fehler dort reproduzieren kannst, solltest du doch aber den auf der Seite beheben können, oder?
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: IE10: Quirks-Modus verlassen

  Alt 2. Mai 2013, 16:22
Alternativ kann die Seite doch auch explizit durch irgendwelche Meta-Tags einen speziellen IE-Dokument-Modus anfordern, oder?
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#4

AW: IE10: Quirks-Modus verlassen

  Alt 2. Mai 2013, 17:20
Alternativ kann die Seite doch auch explizit durch irgendwelche Meta-Tags einen speziellen IE-Dokument-Modus anfordern, oder?
Prinzipiell ja, aber der Browser muss sich nicht unbedingt dran halten.

Der IE ab dem 8er schalten z.B. bei Intranet seiten (also Seiten aus der Intranet-Zone) IMMER in den Compatibility-Mode. Localhost zählt hier übrigens zur Intranet-Zone.

Das lässt sich auch nicht wirklich durch Meta-Tags oder HTTP-Header verhindern, sondern jeder IE-User muss bei sich die Einstellung in den Compatibility Mode Settings umstellen. Und das greift dann wieder für die gesamte Zone, also nicht nur bestimmte Hosts oder Seiten.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Caps

Registriert seit: 23. Mär 2006
Ort: Leipzig
299 Beiträge
 
#5

AW: IE10: Quirks-Modus verlassen

  Alt 3. Mai 2013, 09:49
Danke an euch drei!

Das HTML der Seite kann ich leider nicht ändern (ist nicht unsere). Ich habe aber gemerkt, dass mit dem Registry-Schlüssel FEATURE_BROWSER_EMULATION (<meinProgramm.exe> = 8888 (erzwingt IE8-Modus)) zumindest der urspr. Fehler nicht mehr auftritt, wenngleich dafür jetzt ein anderer passiert (da muss ich schauen)...
Im Browserdebugger gibt es den Unterschied zwischen Browsermodus (= IE10) und Dokumentenmodus (= IE7-Standards) - was bedeutet das?
Schätze, ich muss wohl noch eine Weile experimentieren...

lg Caps
"Der Mode cmCFS8 ist prohibitär und von mir entwickelt."
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: IE10: Quirks-Modus verlassen

  Alt 3. Mai 2013, 10:17
Den Unterschied zwischen Browser- und Dokumentmodus habe ich ehrlich gesagt auch nie verstanden. "Dokument" bezieht sich wahrscheinlich auf die reine grafische Ausgabe, also wie welche HTML- und CSS-Attribute umgesetzt werden, Browsermodus betrifft wahrscheinlich JavaScript und ähnliches...
  Mit Zitat antworten Zitat
Caps

Registriert seit: 23. Mär 2006
Ort: Leipzig
299 Beiträge
 
#7

AW: IE10: Quirks-Modus verlassen

  Alt 3. Mai 2013, 12:05
Es gibt da die verschiedenen Werte 7000 .. 9999 für IE7-Mode bis ForcedIE9-Mode.
Ich bräuchte quasi - soweit ich verstanden habe - den Forced-IE10-Mode. Kennt jemand den Code schneller als ich ihn ergoogelt habe?

lg Caps

Edit:

Da sind se: http://msdn.microsoft.com/en-us/libr...wser_emulation
"Der Mode cmCFS8 ist prohibitär und von mir entwickelt."

Geändert von Caps ( 3. Mai 2013 um 12:17 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: IE10: Quirks-Modus verlassen

  Alt 3. Mai 2013, 12:28
Im Browserdebugger gibt es den Unterschied zwischen Browsermodus (= IE10) und Dokumentenmodus (= IE7-Standards) - was bedeutet das?
Browsermodus:
Als welcher Browser soll das Dokument geladen werden, also welche Browserengine

Dokumentenmodus:
Standardkonform oder Quirks, aber mit der ausgewählten Engine
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Caps

Registriert seit: 23. Mär 2006
Ort: Leipzig
299 Beiträge
 
#9

AW: IE10: Quirks-Modus verlassen

  Alt 3. Mai 2013, 16:33
Ah, dann gibt es (wie ich im Browserdebugger sehe) die Browsermodi {7..10 sowie 10-Kompatibilitätsansicht} + die Dokumentenmodi {5..9, sowie Standards und Quirks}. Das ist ja total irre.

Ich habe jetzt erstmal den Erfolg gehabt, dass die Einstellung
...\FEATURE_BROWSER_EMULATION\meineApplikation: REG_DWORD = 10001 (dezimal)
dafür sorgt, dass der Fehler ("Mitglied nicht gefunden") im Browsercontrol nicht mehr auftritt, allerdings sieht der Inhalt von innerHTML jetzt ganz anders aus als im IE8, d.h. innerHTML wird anscheinend nicht mehr automatisch auf eine gewisse Weise formatiert und execScript() funktioniert nicht mehr...
Ich habe jetzt erstmal ein schönes Wochenende. Schluss.

Grüße
Caps
"Der Mode cmCFS8 ist prohibitär und von mir entwickelt."
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz