contao / core

Contao 3 → see contao/contao for Contao 4
GNU Lesser General Public License v3.0
492 stars 213 forks source link

Contao 3.x nicht mit IE 7 kompatibel #6068

Closed Iuna123 closed 10 years ago

Iuna123 commented 11 years ago

Ich hab bei meiner Arbeit mal die Music Academy Seite im IE 7 angesehen und da ist mir aufgefallen, dass das Layout zerschossen wird.

Sollte Contao 3.x nicht auch noch für IE 7 funktionieren? Ich hab dafür selber keine Lösung gefunden, sonst wäre ich jetzt nicht hier. Im Forum hat man mir gesagt, ich soll dazu ein Ticket eröffnen.

LG, Daniela

leofeyer commented 11 years ago

Tritt das Problem auch mit der Onlinedemo auf? Kannst Du mal einen Screenshot posten bitte?

Iuna123 commented 11 years ago

screenshot-musicacademy

So sieht es mit dem IE-Tester aus. Der nicht alles immer korrekt anzeigt. Allerdings hat man mir im Forum folgendes mitgeteilt:

Ich habe mir eben die Contao Demo angesehen auf einem XP System mit IE7. Da wird es auch falsch angezeigt, allerdings links verschoben außerhalb des Wrappers und nicht rechts wie auf dem gezeigten Bild.. Manchmal springt es sogar hin und her und es hagelt JS Script Fehler... Es stimmt also, dass man dem IE Tester nicht trauen kann, allerdings ist es auch wahr, dass der IE7 auf jeden Fall die Seite falsch anzeigt.

Bei einem anderen Projekt von mir ist es ebenfalls so, dass der 'left Bereich nach links außen wandert - also außerhalb des containers steht.

bytehead commented 11 years ago

Ich hab hier sonst noch ein Screenshot von einer XP VM mit IE7:

bildschirmfoto 2013-08-16 um 12 37 15

Zeromax commented 11 years ago

Ist das keine Zeitverschwendung? Ich bin der letzte der eine IE Unterstützung verweigert. Aber IE7 ist tot und wird nicht mehr auferstehen. Unter Vista läuft in der Regel IE8 oder größer. Windows XP ist sowieso tot... IE7 liegt doch weltweit unter 1-2%.

Da es sich hier um die Demo Seite handelt und unter den Webdesignern wohl kaum einer IE7 verwendet, außer der Kunde zwingt einen ;). Aber dann ist trotzdem jeder Designer selber dafür verantwortlich die Seite für den IE7 zu optimieren.

Ist meine Meinung. Und ich bin bekennender Microsoft Sofware Nutzer ;)

Iuna123 commented 11 years ago

Ja vielleicht hast du recht. :)

leofeyer commented 11 years ago

Ich teile @Zeromax's Meinung, aber eigentlich sollte das Holy-Grail-Layout auch im IE7 funktionieren.

ghost commented 10 years ago

Naja...in großen Firmen ist die IT-Infrastruktur noch etwas hinterher. Und man findet doch noch den IE7.

Aybee commented 10 years ago

Sieht so aus, als interpretierten IE7 und IE8 keine Media-Queries (max-width usw.). Wobei IE7 die Regeln ausführt und IE8 den Media-Block ignoriert.

Für IE7 müssten also die Media-Queries unsichtbar sein und zusätzlich darf #left nicht right:200px bekommen, sondern right:auto.

tristanlins commented 10 years ago

Imo muss Contao keine Dinosauerier von Haus aus unterstützen. Da es in Contao 3 möglich ist, den Layout Builder zu deaktivieren und ggf. ein IE7/IE8 kompatibles CSS Framework zu verwenden, sehe ich hier keinen bedarf etwas zu ändern. Wer die Dinosaurier retten will, soll das halt (teuer) bezahlen.

leofeyer commented 10 years ago

Full ACK. Außerdem kann man auch einfach die entsprechenden CSS-Regeln nachrüsten, wenn man unbedingt veraltete Browser unterstützen will.

aschempp commented 10 years ago

Könnte man die benötigte CSS-Regel dokumentieren? z.B. als Cookbook-Artikel? Ausserdem, ist das erst ab der 3.2 so? Dann müsste/sollte man das in den Release-Blog schreiben.

tristanlins commented 10 years ago

Ausserdem, ist das erst ab der 3.2 so

Nein, im Prinzip dürfte das alle 3er Versionen betreffen, da media queries bereits seit der 3.0 verwendet werden.

aschempp commented 10 years ago

Und bisher hat das keiner gemerkt oder ein Ticket gemacht? :D (kann ich kaum glauben…)

tristanlins commented 10 years ago

@aschempp dieses Ticket ist bereits 3 Monate alt!?!? O.o

aschempp commented 10 years ago

Warum nicht sowas einbinden? https://github.com/scottjehl/Respond/ Wir haben ja auch ein CSS3PIE für Kompatibilität, also wäre das nur praktisch auch gleich drin zu haben?

tristanlins commented 10 years ago

Da ich weder CSS3PIE nutze, noch IE8 oder älter unterstütze, ist mir das egal solange ich es abschalten kann.

aschempp commented 10 years ago

Habe das eben versucht. respond.js funktioniert perfekt auf IE8, aber auf IE7 geht leider nichts, weil wir relative URLs zu den CSS-Dateien benutzen (siehe https://github.com/scottjehl/Respond/issues/137).

Die einfachste Lösung war, die CSS-Dateien für Desktop einfach mit einem Conditional-Comment für IE<9 nochmals einbinden.

leofeyer commented 10 years ago

Dir ist aber klar, dass wir den IE7 nicht mehr unterstützen, oder?

aschempp commented 10 years ago

steht das irgendwo? ;-)

leofeyer commented 10 years ago

Ja, irgendwo schon, aber frag mich nicht wo :)

tristanlins commented 10 years ago

@leofeyer dann bitte ändern:

Contao wurde erfolgreich in allen modernen Browsern wie Firefox (ab Version 2) oder Internet Explorer (ab Version 7) getestet.

https://contao.org/de/manual/3.0/installation.html#den-live-server-konfigurieren

leofeyer commented 10 years ago

Den Pull-Request hättest Du gleich selbst erstellen können :)

aschempp commented 10 years ago

Hab das für Contao 3 geändert: https://github.com/contao/docs/commit/08496d1d664aa265115c0f69463a04b0674e431f

rightvision commented 10 years ago

Leider ist bei komplexen Seiten auch die IE 8 Kompatibilität nicht gegeben. Für den IE 8 falsche relative Links wie z.B. [link rel="stylesheet" href="assets/css/dc345b32daa7.css"] [script src="system/modules/zaeo/public/js/aeo.js"][/script] zerschiessen das gesamte Layout. Packen wir hart einen / davor - ist alles sauber.

Auch sollten Anweisungen wie "if protocol" rausfliegen. Für Serverfarmen nutzt man heutzutage Proxy-Server mit möglicher SSL-Funktionalität. Somit laufen die Webserver mit HTTP, zum User kommt HTTPS (z.B. über STUNNEL). jquery etc. also einfach per // einbinden. Eigentlich wollten wir nicht im Core ändern, aber leider blieb uns bislang nichts anderes übrig.

Aybee commented 10 years ago

Was sind denn komplexe Seiten? Deine Beispielpfade sollten in allen Browsern richtig sein und funktionieren.

rightvision commented 10 years ago

Nehmen wir mal eine Unterseite mit einem "sauberen" Link wie "http://test.henstedt-ulzburg.de/aktuelles/items/Endspurt.html". Dann wird bei oben genanntem Problem das CSS auf dem Verzeichnis items geladen - wo es ja nicht ist. Neuere Browser interpretieren den Link richtig. Der IE8 ignoriert einfach den BASE HREF.

Zeromax commented 10 years ago

Deshalb kann man in der Root Seite ein ASSET und FILE Url definieren ;) dann gehts.

rightvision commented 10 years ago

Stimmt nicht ganz :-) Die HREFs im Menü sind relativ aufgebaut. Rufe ich nach dem obigen Aufruf eine Seite aus dem Menü (z.B. [li>[a href="verkehrsanbindung.html" title="Verkehrsanbindung" class="">Verkehrsanbindung[/a>[/li>) auf, dann kommt 404, da ja unterhalb aktuelles/items gesucht wird. Der IE8 hat extreme Probleme mit BASE HREF - sogar im IE 7 funktionieren die Seiten:-) Das ist eigentlich allgemein bekannt, dass der IE8 hier einen Fehler in der Engine hat, die nie komplett behoben wurde.

Aybee commented 10 years ago

Ich habe gerade in C3.1.5 getestet. IE8 hat bei mir keine Probleme die CSS zu laden. Habe mit Events und Autoitem deaktiviert getestet, also mit langem Link in 'Unterordner'.

Ist dein IE8 vielleicht nicht aktuell? Oder kommt dein Base-Tag im Quelltext nach den CSS-Dateien?

rightvision commented 10 years ago

!DOCTYPE html html lang="de" class="no-js" head meta charset="utf-8" / base href="//test.henstedt-ulzburg.de/" /

Absolut sauber - IE8 letzte Version. Wir haben mal auf der Startseite die Datei-URL mit http://test.henstedt-ulzburg.de/cms310 eingetragen. Dann geht es besser, aber damit zerschiesst es unsere SSL Aufrufe (STUNNEL). Leider läßt das Feld den Input //test.henstedt-ulzburg.de/cms310 nicht zu.

rightvision commented 10 years ago

Wir sind testhalber mal auf 3.21 gegangen. Log ist erschreckend

[03-Dec-2013 15:04:03] PHP Notice:  Undefined index: HTTP_X_FORWARDED_HOST in /var/www/clients/client7/web13/web/cms321/system/modules/core/library/Contao/Environment.php on line 288
[03-Dec-2013 15:04:03] PHP Notice:  Undefined index: SSL_SESSION_ID in /var/www/clients/client7/web13/web/cms321/system/modules/core/library/Contao/Environment.php on line 299
[03-Dec-2013 15:04:03] PHP Notice:  Undefined index: HTTPS in /var/www/clients/client7/web13/web/cms321/system/modules/core/library/Contao/Environment.php on line 299
[03-Dec-2013 15:04:03] PHP Notice:  Undefined index: HTTPS in /var/www/clients/client7/web13/web/cms321/system/modules/core/library/Contao/Environment.php on line 299
[03-Dec-2013 15:04:03] PHP Notice:  Undefined index: deleteConfirm in /var/www/clients/client7/web13/web/cms321/system/modules/core/dca/tl_page.php on line 121
[03-Dec-2013 15:04:03] PHP Notice:  Undefined index: ORIG_PATH_INFO in /var/www/clients/client7/web13/web/cms321/system/modules/core/library/Contao/Environment.php on line 106
[03-Dec-2013 15:04:03] PHP Notice:  Undefined index: PATH_INFO in /var/www/clients/client7/web13/web/cms321/system/modules/core/library/Contao/Environment.php on line 106
[03-Dec-2013 15:04:03] PHP Notice:  Undefined index: ORIG_SCRIPT_NAME in /var/www/clients/client7/web13/web/cms321/system/modules/core/library/Contao/Environment.php on line 106
[03-Dec-2013 15:04:03] PHP Notice:  Undefined index: eager in /var/www/clients/client7/web13/web/cms321/system/modules/core/library/Contao/Model/QueryBuilder.php on line 53
[03-Dec-2013 15:04:03] PHP Notice:  Undefined index: eager in /var/www/clients/client7/web13/web/cms321/system/modules/core/library/Contao/Model/QueryBuilder.php on line 53
[03-Dec-2013 15:04:03] PHP Notice:  Undefined index: eager in /var/www/clients/client7/web13/web/cms321/system/modules/core/library/Contao/Model/QueryBuilder.php on line 53
[03-Dec-2013 15:04:03] PHP Notice:  Undefined index: eager in /var/www/clients/client7/web13/web/cms321/system/modules/core/library/Contao/Model/QueryBuilder.php on line 53
[03-Dec-2013 15:04:03] PHP Notice:  Undefined index: eager in /var/www/clients/client7/web13/web/cms321/system/modules/core/library/Contao/Model/QueryBuilder.php on line 53
[03-Dec-2013 15:04:03] PHP Notice:  Undefined index: eager in /var/www/clients/client7/web13/web/cms321/system/modules/core/library/Contao/Model/QueryBuilder.php on line 53
[03-Dec-2013 15:04:03] PHP Notice:  Undefined index: group in /var/www/clients/client7/web13/web/cms321/system/modules/core/library/Contao/Model/QueryBuilder.php on line 81
[03-Dec-2013 15:04:03] PHP Notice:  Undefined index: eager in /var/www/clients/client7/web13/web/cms321/system/modules/core/library/Contao/Model/QueryBuilder.php on line 53
[03-Dec-2013 15:04:03] PHP Notice:  Undefined index: eager in /var/www/clients/client7/web13/web/cms321/system/modules/core/library/Contao/Model/QueryBuilder.php on line 53
xchs commented 10 years ago

@rightvision Nur als Hinweis: Du kannst Inline-Code bzw. Code-Blöcke auch mittels GFM auszeichnen und aktivierst damit die entsprechende Code-Formatierung und das Syntax-Highlighting. Das würde zum einen die Lesbarkeit deutlich verbessern und Du ersparst Dir zum anderen beispielsweise das Umschreiben der HTML-Tags.