schildi: ie7-js Einsatz: Für und Wider

hallo zusammen,

ich bin bei der suche eines ie6-ersatzes für css attribut-selektoren auf das ie7-js script von dean edwards gestossen link.

jetzt habe ich mir mal erste gedanken gemacht über das für und wider des einsatzes dieser library. das js erforderlich ist, sehe ich nicht als problem.

eher problematisch sehe ich die wohl auftretenden kompatibiltätsprobleme mit anderen css-bezogenen frameworks / bibliotheken / scripts, die mit anderen gängigen methoden ie5- oder ie6-spezifische anzeigefehler beheben (wie zb. css-hacks oder expressions). da stellt sich die frage, ob das zu problemen führt oder ob das ie7-js script die verwendendung derartiger problemlösungsstrategien mit einkalkuliert und das ganze nicht zu einem "wurstsalat" führt am ende?

hat jemand erfahrungen mit dem script hinsichtlich dieser befürchtungen?
evtl. auch andere für und widers?..

danke euch!

  1. Moin Moin!

    ie7-js repariert einiges, und das erstaunlich gut. Über JS im IE würde ich mir auch keine Sorgen machen, wer JS im IE abschaltet, weiß, was er tut. Die überwiegende Mehrheit hat davon keine Ahnung und sieht die reparierte Seite. Ich würde nur dafür sorgen, dass ie7-js vom selben Server wie der Rest der Seite ausgeliefert wird.

    Mit jquery (1.2.6) ist ie7-js in der Version ie8.js absolut unproblematisch, das läuft bei meinem letzten Projekt produktiv.

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
    1. Mit jquery (1.2.6) ist ie7-js in der Version ie8.js absolut unproblematisch, das läuft bei meinem letzten Projekt produktiv.

      weisst du wie es mit css-hacks umgeht?

      1. Moin Moin!

        »» Mit jquery (1.2.6) ist ie7-js in der Version ie8.js absolut unproblematisch, das läuft bei meinem letzten Projekt produktiv.

        weisst du wie es mit css-hacks umgeht?

        Gar nicht. ie7-js repariert die Probleme, nachdem das Dokument geladen ist, da sind die CSS-Hacks schon passiert. ie7-js macht allerdings einige Hacks überflüssig (immer unter der Annahme, dass JS aktiviert ist), indem es per DOM an den CSS-Eigenschaften herummanipuliert und so dem IE Manieren beibringt. Alpha-Filter für teiltransparente PNGs werden übrigens auch automatisch eingebaut. Einziger Haken: Die Resource-URL für PNGs muß auf ".png" enden.

        Die unkomprimierten Sources liegen übrigens bei Google im SVN. Für CSS-Reparaturen ist wohl cssQuery.js zuständig.

        Alexander

        --
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
  2. Lieber schildi,

    ich bin bei der suche eines ie6-ersatzes für css attribut-selektoren auf das ie7-js script von dean edwards gestossen link.

    das Teil ist echt genial - aber bei komplexen Seitenlayouts kann es gefühlte Ewigkeiten dauern, bis das Script fertig ist und die Seite benutzbar wird. Aus diesem Grund habe ich lieber zusätzliche CSS-Dateien über Conditional Comments eingesetzt, da das Benutzen der Seite damit tatsächlich schneller möglich ist. Und sollte manches visuelle Detail dann nicht mehr umsetzbar sein, weil es der IE6 nicht unterstützt, dann ist das nicht tragisch, denn Besucher haben ja entweder die Wahl, einen echten Browser zu benutzen, oder die Seite eben mit kleinen Schönheitsfehlern zu nutzen.

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Moin Moin!

      das Teil ist echt genial - aber bei komplexen Seitenlayouts kann es gefühlte Ewigkeiten dauern, bis das Script fertig ist und die Seite benutzbar wird.

      Richtig, die komplexen Manipulationen am DOM sind nicht kostenlos. Wenn man aber nicht das bestreben hat, jede einzelne CSS-Eigenschaft mindestens drei mal zu benutzen, funktioniert ie7-js ganz gut.

      Und sollte manches visuelle Detail dann nicht mehr umsetzbar sein, weil es der IE6 nicht unterstützt, dann ist das nicht tragisch, denn Besucher haben ja entweder die Wahl, einen echten Browser zu benutzen, oder die Seite eben mit kleinen Schönheitsfehlern zu nutzen.

      Nein, die Wahl haben sie nicht unbedingt. Vielen Leuten ist gar nicht klar, dass man sich "das Internet" auch mit etwas anderem als dem IE ansehen kann. Wer kein XP oder Vista hat, wird von MS nie mehr ein Update auf etwas neueres als IE6 SP 2 bekommen, auch wenn IE7 und IE8 technisch durchaus auf älteren Windows-Versionen laufen könnten[1]. Wer sich gar noch mit 98 oder NT4 rumschlägt, kann froh sein, wenn er einen IE5-Update bekommt.

      Wenn man "IE>=7 oder Pech gehabt" sagt, sollte man wenigstens für IE<7 eine entsprechende Meldung einblenden (à la "best viewed with IE>=7 or Firefox"). Das ist ja mit Conditional Comments oder CSS-Hacks kein sonderlich großes Problem.

      Alexander

      [1] Das halbe OS auszutauschen, wenn man eine neue MS-Software installiert, hat ja durchaus Tradition. Win3.x hat Himem.sys und emm386.exe des DOS durch eigene Versionen ersetzt, Office 95 und 97 haben größere Teile von Win9x ersetzt, und das IE6-Update für 2000 schmeißt auch nochmal tonnenweise neuere DLL-Versionen ins System. Es wäre kein Problem gewesen, das gleiche auch mit dem IE7 zu machen.

      --
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
      1. Lieber Alexander,

        im Grunde stimme ich Dir 100%ig zu.

        | Und sollte manches visuelle Detail dann nicht mehr umsetzbar sein, weil es der IE6 nicht unterstützt, dann ist das nicht tragisch, denn Besucher haben ja entweder die Wahl, einen echten Browser zu benutzen, oder die Seite eben mit kleinen Schönheitsfehlern zu nutzen.

        Das muss ich wohl etwas präziser formulieren:

        Wenn nicht alle visuellen Details exakt so wie in standardkonformen Browsern umsetzbar sind, die Präsentation also mit einigen visuellen Abstrichen (aka "Schönheitsfehlern") im IE6/7 läuft, die Seite an sich aber voll benutzbar bleibt, dann ist das nicht tragisch.

        Nein, die Wahl haben sie nicht unbedingt.

        Das ist mir auch klar. Aber das Bewusstsein wächst, da die älteren Generationen allmählich immer kompetenter werden und die jüngeren Generationen immer vertrauter mit dem Medium und seinen besonderen Eigenheiten aufwachsen.

        Wenn man "IE>=7 oder Pech gehabt" sagt, sollte man wenigstens für IE<7 eine entsprechende Meldung einblenden (à la "best viewed with IE>=7 or Firefox").

        Das ist jetzt nicht Dein Ernst, oder? Was spricht denn dagegen, dass die Leute mit dem IE6 ein weniger spektakuläres oder gar mit Schönheitsfehlern versehenes Layout bekommen, aus dem heraus sie die Inhalte der Seite noch immer zu 100% erreichen und nutzen können? Den Hinweis kann man sich genau deswegen sparen, weil die Leute dieser speziellen Zielgruppe ja nicht wissen, was ein Browser ist, oder aber keinen anderen installieren können/dürfen!

        Das ist ja mit Conditional Comments oder CSS-Hacks kein sonderlich großes Problem.

        Selbstredend...

        Liebe Grüße,

        Felix Riesterer.

        --
        ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
        1. Moin Moin!

          »» Wenn man "IE>=7 oder Pech gehabt" sagt, sollte man wenigstens für IE<7 eine entsprechende Meldung einblenden (à la "best viewed with IE>=7 or Firefox").

          Das ist jetzt nicht Dein Ernst, oder?

          Doch! Ich weiß, dass "best viewed with browser X" Müll ist. Siehe unten.

          Was spricht denn dagegen, dass die Leute mit dem IE6 ein weniger spektakuläres oder gar mit Schönheitsfehlern versehenes Layout bekommen, aus dem heraus sie die Inhalte der Seite noch immer zu 100% erreichen und nutzen können?

          Das wäre "graceful", nicht "Pech gehabt", und ist definitiv der einzig wahre Weg.

          Aber an manchen Tagen ist es eben so, dass irgendein externer Dienstleister doch nicht so viel Ahnung von CSS und HTML hat wie er vorgab, insbesondere wenn es um den "graceful"-Teil geht. Niemand anders hat genügend Zeit (und Lust), die Arbeit des Externen zu erledigen. Dann entscheidet der Chef auch noch "80% reicht mir, die restlichen 20% sind mir egal." Und genau an dem Punkt pappt man ein großes ALPHA-Logo auf die Webseite und blendet für IE<7 den Hinweis ein, dass IE6 und älter im Moment nicht unterstützt werden und man doch besser mal updatet oder Firefox benutzt. Denn irgendwann kommt ein anderer Dienstleister mit mehr Ahnung, der den ganzen Styling-Schrott und das vermurkste HTML abreißt und neu baut, damit es auch im IE 5, 5.5 und 6 gut genug aussieht.

          Den Hinweis kann man sich genau deswegen sparen, weil die Leute dieser speziellen Zielgruppe ja nicht wissen, was ein Browser ist,

          Sie wissen es nicht und dürfen es nie erfahren? Ömmm, da komme ich gerade nicht mit.

          oder aber keinen anderen installieren können/dürfen!

          Gegen das "nicht können" hilft ein Link auf die Installationsanleitung für den FF unter Windows.

          Das "nicht dürfen" dürfte eigentlich nur noch bei Firmen mit einer völlig kaputten IT passieren, die die User nicht an den PCs drehen läßt, immer noch uralte Software einsetzt, aber trotzdem keinerlei Updates einspielt und sie mit unsicheren Browsern aus dem letzten Jahrhundert ins Internet läßt. Da ist dann alles verloren.

          (Das erinnert mich an die Migration von 95 auf 2000 bei einem meiner Ex-Arbeitgeber. Nachdem die "Hardware+OS"-IT wirklich jedes Fettnäpfchen und jeden möglichen GAU mitgenommen hat, hat's dann auch mit den Updates geklappt und die Migration auf XP einige Zeit später war fast nicht zu bemerken. Zwei MS-zertifizierte Unternehmen hat man bei der Aktion verschlissen und anschließend verklagt. Gut, dass ich da meine Finger nicht drin hatte.)

          (Oh, und es gab da noch eine Bank, die auch zu 2000-Zeiten noch ausschließlich mit dem von der eigenen IT abgesegneten NN4 ins Internet und auf meine Anwendung ging, die minimal IE5 / FF1 / NN6 voraussetzte.)

          Alexander

          --
          Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".