• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Den Internet Explorer blockieren! Aber wie?

fleischwolff

Neues Mitglied
Liebe Leidensgenossen,

ich erspare euch mal die Details, sicher kennt ihr es bereits, alle Browser stellen die Webseite (zumindest annähernd) so dar, wie ihr sie auch programmiert habt - alle bis auf einen (IE). Ich könnte jetzt sicher ein paar Hacks googlen und fummeln und machen und tun, bis es ungefähr stimmt, aber ich habe weder Lust noch ist es meine Aufgabe, bugverseuchten Anwendungen zu entsprechen.

Ich ziehe deshalb die folgende Lösung vor: Wer mit dem IE die Webseite ansteuert, soll einen Hinweis erhalten, dass die Webseite IE nicht unterstützt und zu einer Seite umgeleitet werden, auf der verschiedene Links zu funktionierenden Browsern erscheinen.

Ich möchte nochmal klarstellen, es geht hierbei ums Prinzip, solange die extremen Fehler des IE von Webseitenbetreibern mit irgendwelchen Hacks bedient werden, haben die Entwickler des IE doch überhaupt keinen Anreiz, mal die ganzen Bugs zu entfernen, im Gegenteil, die können sogar neue erfinden und sich dann darüber kaputt lachen, wie alle Welt sich in unzähligen Stunden den Kopf zerbricht, Foren zuspamen und einfach nur Zeit, die sinnvoll zu nutzen wäre, verschwenden, für im Grunde völlig unnötige Schönheitskorrekturen.

Alle, die es können (was natürlich nicht gilt, wenn man eine Auftragsarbeit erstellt), sollten ebenso verfahren, damit erweist ihr der Menschheit einen nützlichen Dienst.

Also ich habe relative Positionierung verwendet und beim IE ist alles so krass verrutscht, dass Elemente zum Teil außerhalb des Body liegen. Die Webseite besteht bis jetzt gerade mal aus einem Hintergrundbild und 5 internen Links (d.h. ich habe gerade angefangen sie zu programmieren!). Ich habe den Code validiert und das Ergebnis war in Ordnung.

Meine Kenntnisse sind bescheiden, und brauche daher eine Anleitung, wie ich meine Lösung praktisch umsetze, ich bin sicher, Ihr könnt mir dabei helfen.

Vielen Dank !!! :D
 
Zuletzt bearbeitet:
Werbung:
Hallo,

es geht hierbei ums Prinzip,

Nö.

haben die Entwickler des IE doch überhaupt keinen Anreiz, mal die ganzen Bugs zu entfernen,

Versteh' ich nicht. Weil du nicht fähig bist korrekte HTML / CSS-Seiten zu erstellen, die Schuld dafür aber auf den Internet-Explorer schieben willst, willst du dessen Benutzer "bestrafen"? Sowas hat noch nie funktioniert.

Es ist aber schon recht vielsagend, das du deine Seite nicht vorstellst.

Gruss

MrMurphy
 
Werbung:
Liebe Leidensgenossen,

Also ich habe relative Positionierung verwendet und beim IE ist alles so krass verrutscht, dass Elemente zum Teil außerhalb des Body liegen. Die Webseite besteht bis jetzt gerade mal aus einem Hintergrundbild und 5 internen Links (d.h. ich habe gerade angefangen sie zu programmieren!). Ich habe den Code validiert und das Ergebnis war in Ordnung.

Wenn du hier schon die Flinte ins Korn werfen willst, solltest du lieber die Finger von der Materie lassen. Ich erstelle täglich crossbrowser-kompatible Seiten und komme dabei mit einer einzigen CSS-Datei aus. lediglich für den IE7 sind gelegentlich Browserhacks notwendig. Die Arbeit wäre sicherlich einfacher, wenn jeder aktuelle Browser mit Mozilla oder Webkit Engine verwenden würde, aber solange viele Menschen und Unternehmen noch Win XP einsetzen, muss man sich nun mal mit dem IE 7 und 8 arrangieren.

Seis drum, wenn du IE-Anwender gerne umleiten willst, schreibe ein kleines PHP-Script welches den User-Agent des Browsers ausliest.
 
Vielen Dank für die Antwort.

Ich finde, auch Leute, die keine Webdesigner sind, sollten generell die Möglichkeit haben, eine Webseite zu erstellen. Das der IE dabei so krass aus der Rolle fällt, kann ich einfach nicht nachvollziehen, wie gesagt, alle anderen Browser geben die Webseite völlig korrekt wieder, einschließlich Safari. Ich finde, dass muss wirklich nicht sein, erst recht nicht bei ca. 30 Zeilen Code, ist doch lächerlich.

LG
 
Ich finde, auch Leute, die keine Webdesigner sind, sollten generell die Möglichkeit haben, eine Webseite zu erstellen.
Warum auch nicht? Ich halte dein Vorgehen allerdings für ziemlich albern. Wenn man nicht in der Lage ist, eine Webseite für alle Browser zu schreiben, macht man was falsch. Das ist ungefähr so, als wenn du in eine VW-Werkstatt fährst und die dir dann sagen: Mit deinem Polo kommst du hier nicht rein, wir machen nur Golf und Passat.
 
Werbung:
Aus meiner Sicht gibt es folgende Ursachen, warum du mit dem IE auf Kriegsfuß stehst bzw. er "nicht macht, was du willst":

Entweder du verwendest keinen standardkonformen Doctype und/oder dein HTML/CSS-Code sind nicht valide.

Wenn du dies geklärt bzw. korrigiert hast, dann sollte es auch mit dem IE weitgehend keine größeren Probleme geben.

Das soll jetzt keineswegs ein Loblied auf den IE sein. Aber man kann ihn nicht für das verantwortlich machen, was man selbst falsch macht.
 
Also zunächst einmal Danke für die Antworten.

Wie ich ja schon gesagt habe, den Code habe ich natürlich zunächst mit einem Programm validieren lassen, es konnte kein Fehler festgestellt werden.
icon_idea.gif


ALLE Browser zeigen die Webseite richtig an, außer dem IE. Deshalb kann der Fehler nicht bei mir liegen, denn sonst würden ja alle Browser die Seite falsch darstellen, weil dies aber nur bei dem IE der Fall ist, muss der Fehler beim IE liegen.

Ich habe die Seite zunächst mit einem bekannten Grafikprogramm entworfen, und dann die Pixelabstände ins CSS relativ übertragen. Kein Problem für Firefox & Co., die können tatsächlich zählen, der Internetexplorer scheint dagegen nur grob zu schätzen, und deplaziert einfach alles. Weitere Probleme, die nur der IE verursacht, haben mich deshalb zu meiner Lösung bewogen. Es gibt genügend Alternativen zum IE und auch weitere allgemein bekannte Gründe, diese zu nutzen - zudem kostet es die Leute nichts, im Gegenteil - sie können nur gewinnen (berichtigt mich bitte, falls ich einen Vorteil des IE übersehen haben sollte).

Das Problem dieses Threads ist nicht mein Code, sondern die Frage, wie ich die von mir bevorzugte Lösung praktisch umsetze. Mein Code kann zu der Erstellung einer solchen Umleitung nichts beitragen. Würde ich den Code jetzt hier posten, würden alle sich mit der "Fehler"beseitigung beschäftigen, und damit wären dann alle off-topic, denn bei diesem Thread geht es um die technische Lösung einer Umleitung für Nutzer des IE, nicht aber um die Analyse meines Codes.
icon_wink.gif


Ich möchte gerade vermeiden, dass irgendjemand seine wertvolle Zeit damit verschwendet, eine Lösung zu finden, mit welcher die Bugs des IE "bedient" werden, Microsoft weiterhin keine Veranlassung hat, diese zu fixen. Würde man alle Arbeitsstunden zusammenzählen, die Webdesigner bereits mit Hacks und Bugfixes zugunsten des IE aufgewendet haben, bin ich sicher, dass bereit einige Menschenleben (gemessen an der Zeit) dabei drauf gegangen sind.

Ich finde, das muss nicht sein, die Zeit ist das kostbarste, was die Menschen haben, deshalb gilt es, sinnlose Arbeit zu vermeiden. Es ist effektiver, dass das Entwicklerteam des IE die nötige Zeit investiert, um dem Programm u.a. das zählen von Bildpunkten beizubringen, als Millionen Webdesigner auf der ganzen Welt ständig mit Bugfixes und Hacks zu beschäftigen.
icon_mad.gif
 
Deshalb kann der Fehler nicht bei mir liegen, denn sonst würden ja alle Browser die Seite falsch darstellen, weil dies aber nur bei dem IE der Fall ist, muss der Fehler beim IE liegen.

Nein, der Fehler liegt dann an deinem Code. Das wurde aber oben bereits gesagt.

Das Problem dieses Threads ist nicht mein Code, sondern die Frage, wie ich die von mir bevorzugte Lösung praktisch umsetze.

Da dein Topic bereits im CSS-Bereich ist, suchst Du offenbar auch an der falschen Stelle. Du sprichst von Weiterleitung - CSS kann keine Weiterleitung realisieren. Was Du suchst ist eher im PHP- oder JavaScript-Bereich zu finden. Stichwörter wären

PHP:
header("Location: alternativeseite.html");

Code:
document.location="alternativeseite.html";

sowie UserAgent-Erkennung in den jeweiligen Sprachen (Stichwort: Serverumgebungsvariable USER_AGENT).

Ich möchte gerade vermeiden, dass irgendjemand seine wertvolle Zeit damit verschwendet, eine Lösung zu finden, mit welcher die Bugs des IE "bedient" werden, Microsoft weiterhin keine Veranlassung hat, diese zu fixen.

Es ist deine wertvolle Zeit die hier flöten geht. Denn Du suchst nach einer Lösung die gar nicht notwendig ist, wenn Du korrekt arbeiten würdest. Das wurde dir oben bereits gesagt, ja. Dir wurden aber offenbar auch die Nachteile deiner "Lösung" nicht ganz bewusst gemacht:
Sobald Du einen Browser aus deiner Seite aussperrst, sperrst Du auch eine Vielzahl deiner Besucher aus. Nur um deine Seite aufrufen zu können wird, wird sich sicherlich keiner extra einen anderen Browser zulegen. Viele können das auch nicht mal, selbst wenn sie wüssten wie es geht, da deren Administratoren die Installation neuer Programme verwehren.
Hinzu kommt noch der SEO-Aspekt: Suchmaschinenbots werden eine solche Weiterleitung ebenfalls erkennen und dadurch merken, dass Du deine Seite nur bestimmten Nutzern zugänglich machen willst. Das ist in etwa so als würde man einem GoogleBot andere Inhalte ausliefern als einem echten menschlichen Nutzer - das merken die Bots auch und werten dadurch deine Seite ab. Sie wird folglich auch mittelfristig gar nicht mehr auffindbar sein.

Würde man alle Arbeitsstunden zusammenzählen, die Webdesigner bereits mit Hacks und Bugfixes zugunsten des IE aufgewendet haben, bin ich sicher, dass bereit einige Menschenleben (gemessen an der Zeit) dabei drauf gegangen sind.

Seit IE8 ist die Anzahl dieser Arbeitsstunden deutlich zurück gegangen. Statistisch ist der Anteil IE9-Nutzer inzwischen auch hoch genug, so dass es kein Problem sein sollte die Seite auch in diesen Browsern identisch ansehbar zu machen.

Allerdings bin ich mir sicher, dass Du meine warnenden Worte auch total ignorieren wirst - weshalb ich hier aus dem Thema nun auch raus bin. Tipps hast Du bereits genug erhalten, selbst die die deine merkwürdige Frage beantworten.
 
Werbung:
Vielen Dank, threadi .

Deine Antwort war sehr interessant. Vernünftige Argumente werde ich selbstverständlich nicht ignorieren.

Dass manche Nutzer den Browser aufgrund von Administratoreinstellungen nicht wechseln können, hatte ich bisher nicht bedacht. Das mit den Bots war mir auch nicht klar, das ist natürlich ein erheblicher Einwand, der gegen die von mir angedachte Lösung spricht.

Ich danke auch für die weiteren Hinweise mit Bezug auf PHP und JavaScript.

Wer sich ein eigenes Bild machen möchte, kann die Webseite unter:

Mein Urheberrecht - Infoportal für Kreative

abrufen. Wir gesagt, wird sie mit Firefox, Opera etc. auch korrekt dargestellt.
 
Poste doch mal einen Link zu deiner Problemseite.
Möglicherweise lässt sich das Probelm mit dem IE schnell lösen.
Welchen Doctype verwendest du?

Deine Ursprungsfrage selbst halte ich nicht für benutzerfreundlich.
 
versuch mal den Browser- bzw. Anzeigemodus im IE umzustellen, oft liegts daran.
Aber normalerweise schließt man nur den IE7 von der Entwicklung aus. So z.B. im HTML5 Boilerplate, da bekommt man dann auch eine Meldung, mit Links zu modernen Browsern. Das wird mit einem lowerthan-kommentar realisiert: <!--[if lt IE 7]>...<![endif]-->. Für die anderen IEs würd ich die Seite noch optimieren und der IE10 ist ja ganz gut.
 
Werbung:
Irgendwie bist du ja schon ein lustiges Kerlchen. Du hast Fehler in deinen Quellcodes und machst den IE dafür verantwortlich, wenn er dann nicht alles nach Wunsch anzeigt. Ist ungefähr so, als wenn du mit einem Auto vor einen Baum fährst und dann den Hersteller dafür verantwortlich machen willst, weil das Auto nicht alleine am Baum vorbeigelenkt hat.
 
Hinweis: das Thema wird auch in dem XHTML-Forum diskutiert:

Weil es not tut: IE blockieren! Aber wie? - XHTMLforum

Da du auf deine Threads ja nun recht viel Kritik geerntet hast, hier noch etwas konstruktives Feedback zum Nachdenken:

Dass deine Seite im FF, Safari & Co. zufriedenstellend dargestellt wird, ist alleine noch kein Beweis für validen Code. Aktuelle Browser sind fehlertoleranter als ihre Vorgänger. Wenn du deine Seite dementsprechend prüfen willst, verwende lieber den Validator von w3.org. Allerdings ist auch valider Code noch keine Garantie für eine perfekte crossbrowser-kompatible Darstellung, und das Problem liegt hier wirklich in deinem Code. Du versuchst, die Links auf deiner Seite mittels position: relative pixelgenau zu formatieren.

- Verzichte auf position und arbeite statt dessen ausschließlich mit margin.
- Verwende ein Blockelement für die Überschrift und vier weitere für die darunter liegende Navigation.
- Alle vier Menüpunkte erhalten ein float: left. Setze nach "Fragen + Antworten" und "Weblinks" jeweils ein leeres Div mit einem Clearfix.

Wenn du die Seite so aufbaust, dann sollte es auch mit IE funktionieren.
 
Werbung:
Vielen Dank!

Richtig, ich wurde eines besseren belehrt ;) Was so eine kleine Doctype Bezeichnung alles anrichten kann ... ich hatte keine Ahnung davon, und jetzt hat auch der IE kein Problem mehr mit den Positionsangaben. Auf jeden Fall habe ich viel Nützliches bei den Diskussionen gelernt, dass die Browser Fehler korrigieren, war mit zum Beispiel nicht bekannt. Des weiteren ist mir jetzt auch klar, dass trotz positiven Validierungsergebnis noch Fehler vorhanden sein können. Ich hatte mich wohl zu sehr darauf verlassen, dass bei derValidierung keine Fehler erkannt wurden. Naja, und weil der IE nun mal keinen besonders guten Ruf hat, habe ich die Fehlerquelle dort gesehen.

Schönen Abend noch und danke an alle, die sich beteiligt haben !

LG aus Berlin
 
Zurück
Oben