Boardunity & Video Forum

Boardunity & Video Forum (https://boardunity.de/)
-   Programmierung und Datenbanken (https://boardunity.de/programmierung-datenbanken-f23.html)
-   -   Internet Explorer Warnleiste (https://boardunity.de/internet-explorer-warnleiste-t3251.html)

LonelyPixel 01.07.2005 14:50

Internet Explorer Warnleiste
 
Hi,
ich hab mir überlegt, ne recht unauffällige Methode, IE-Benutzer darauf aufmerksam zu machen, dass ihr Browser u.U. vllt doch nicht grade der beste für diesen Zweck sein könnte, wäre doch, diesen Hinweis in so einer gelben Warnleiste anzuzeigen, wie sie z.B. bei Popups erscheint.

Kennt jemand einen Weg, so eine Warnleiste per JavaScript zu aktivieren und eigenen Text einzufügen? Wenn nicht, würd ich das gerne selber designen. Damit das möglichst echt aussieht, müsste ich allerdings 2 Frames verwenden. Einen kleinen oben, der die Warnleiste darstellt, und den großen unten für den eigentlichen Seiteninhalt. Jetzt sind Frames natürlich böse, etc. Also hätte ich gerne eine JavaScript-Lösung, die:
- Das gesamte aktuelle Dokument sichert
- Die Seite durch eine Struktur mit den 2 Frames ersetzt
- In das obere Frame soll meine Warnung rein, (Icons und Formatierung krieg ich bereits hin)
- In das untere Frame soll die originale Seite wieder rein

Da fällt mir grade ein, dann müssten ja alle Seitenlinks noch so verändert werden, dass sie auch wieder rausgehen aus dem Frame. Dafür könnte ich aber vllt meinen PNG-Image-Hack wiederverwenden.

Hat zufällig jemand ne Idee, wie man diese Datenschubserei machen könnte? Ich weiß leider nichtmal, wie man ein Objekt klont in JavaScript, hab erstmal nix dazu gefunden. Geht das überhaupt? Ist meine Idee vllt völliger Blödsinn?

exe 01.07.2005 14:56

Meinst du sowas wie beim Pagodentreff? (http://www.pagodentreff.de/diskussionsforum/)
Eventuell kann dir Dominik erklären wie er das gemacht hat ;)

MaMo 01.07.2005 15:01

Hi.

Kann man nicht einfach oben sowas mit CSS nachstellen?
Einfach bissl :hover und so. Das Bild einfach kopieren.

MfG MaMo

Fabchan 01.07.2005 15:04

Hi LonelyPixel, unter diesen beiden Adressen findest du einiges

http://blog.cs.cityu.edu.hk/users/50307104/ie/

Hier wird das Problem, dass normalerweise rechts neben der Informationsleiste eine Scrollleiste angezeigt wird einfach gelöst, indem um den gesamten Seiteninhalt ein <div> gepackt wird, welches die gessamte restliche Seite enthält. So wie es dort steht, funktioniert es nciht wirklich, weil ein teil der Scrolleiste am unteren Bildschirmrand verschwindet, aber auch das ließe sich umgehen, indem man schau, wie hoch der Anzeigebereich des Fensters ist ist, davon die Scrollbarhöhe Abzieht und die Höhe des <div>s dementsprechend anpasst und Größenänderungen des Fensters überwacht.

Fabchan 01.07.2005 15:38

Ich habe mal ein bisschen herumgespielt, hier ist mein Ergebnis:

http://draconum.de/files/fakeie.html

Die Scrolleiste wird nur unterhalb der Leiste angezeigt und das <div> passt sich der Größe des Browserfensters an.

MrNase 01.07.2005 15:48

Ich blende es bei mir für Opera-User aus.. Bei denen stimmen die Farben nicht, da sie 'InfoBackground' oder 'font: message-box;' wohl nicht kennen :)

Fabchan 01.07.2005 15:54

Klar, bei meinem Entwurf sollte man am besten auch noch <!--[if IE]> vor den ensprechenden Code und <![endif]--> dahinter schreiben oder am besten gleich serverseitig entscheiden, ob die leiste angezeigt wird oder nicht. Was ich hier gepostet habe soll ja auch nur eine Grundlage sein, die zeigt, dass es auch ohne Frames gut geht.

LonelyPixel 01.07.2005 16:33

Jep, das Ding soll nur IE-Nutzern serviert werden. Bei Opera hab ich ja gar keinen Grund dazu, der 8er taugt doch eigentlich ganz gut.

Kleiner Tipp: Wenn man HTML das CSS-Attribut border: none; zuweist, geht der Rahmen um die ganze Seite weg. Dann muss man nur noch den Rahmen (2px inset oder sowas) auf den Rest anwenden und da hat man den normalen Rahmen wieder. Muss nur mal checken, ob der dann auch bei kürzeren Seiten bis ganz unten geht... min-height geht ja leider nicht.

Danke erstmal für den Prototpy, ich bastel mal etwas dran weiter und lass euch eventuelle Fortschritte wissen. :)

Fabchan 01.07.2005 17:13

So, hab meine Version nochmal überarbeitet, stimmt jetzt so ziemlich auf den Pixel genau mit dem Original überein. Der Link steht ein paar Beiträge weiter oben.

LonelyPixel 01.07.2005 17:17

So, hier mein CSS-Update:

Code:

html
{
        border: none;
}
#infobar a,
#infobar a:link,
#infobar a:visited,
#infobar a:active
{
        display: block;
        color: InfoText;
        background: InfoBackground url(warning.gif) no-repeat fixed 3px 3px;
        padding: 5px 5px 5px 23px;
        text-decoration: none;
        cursor: default;
}
#viewplot
{
        width: 99.6%;
        overflow-y: scroll;
        overflow-x: auto;
        border: 2px inset;
}

Damit passt dann auch der Rahmen so, wie ihn der IE selbst anzeigt. Die Abstände sind jetzt auch konstant, hier sind em-Größen nicht angebracht. Jetzt ist es nahezu perfekt, braucht nur leider JavaScript, sonst ist es un<span lang="en">scroll</span><span lang="de">bar</span>. An dem Close-Button arbeite ich grad noch. Der Link will mir nicht so recht gelingen...

Edit: Toll, jetzt haben wir beide das gleiche gemacht. :)

Edit2: Ach ja, alle position: relative-Elemente sind von dieser Infobar beeinflusst, die werden nicht mehr mit dem Dokument mitgescrollt. Muss mal schauen, ob das auf meiner Seite größere Auswirkungen hat. Ansonsten helfen u.U. wirklich nur noch Frames. :(

LonelyPixel 01.07.2005 17:32

Argh, alles was position: relative; hat, ist wie auf dem Bildschirm festgeklebt, das scrollt überhaupt nicht mit der restlichen Seite mit. Und ich hab ein einigen Stellen für den IE etwas Text ein paar Pixel nach oben oder unten verschoben... Ganz blöde Idee irgendwie.

LonelyPixel 01.07.2005 18:40

So, alle größeren Probleme gelöst. Kann man lassen so. Statt rumschieben muss man halt den Abstand verändern, oder man lässt es so schief und krumm wie es ist, dafür hat man ja die gelbe Warnleiste oben (die muss ja auch nen erkennbaren Grund haben!) ;)

Jetzt darf sich der Autor des Skripts auch über etwas Feedback zu dem Teil freuen...

LonelyPixel 01.07.2005 19:18

(Sorry für die vielen Antworten...)

Ich hab mal den Original-Sound aufgezeichnet, krieg den aber in keinem Browser abgespielt. IE macht weder mit <embed> noch mit <object> was, Firefox will ständig QuickTime haben, das funzt aber nicht. Kann jemand von euch ein wave in ein flash movie umwandeln? Sonst mach ich es, muss nur erstmal ne Flash-Demo suchen...

MrNase 01.07.2005 20:12

Du willst wirklich sound einbinden? *schauder*

Bei mir ging es mit

Code:

<bgsound src="bla.wav" loop="3" />

LonelyPixel 01.07.2005 21:39

Danke, so geht's. Bei jedem Seitenaufruf wär es in der Tat nervig. Ich lass den Sound jetzt aber nur einmal abspielen, wenn man die Seite betritt. Bei weiteren Aufrufen kommt der Ton nicht. Jetzt muss ich nur noch schauen, dass mein toller Mauszeiger bei Bewegung auch wieder zurückgesetzt wird, dann hab ich die perfekte Immitation. :D

LonelyPixel 02.07.2005 14:51

So, fertig. Hier gibt's die perfekte Imitation der IE-Leiste:

http://px.no-ip.com/proj/ieinfobar/
(Warum verschluckt mein Apache jetzt die readme.txt-Datei, wenn ich sie so nenne?)

Weiter geht's mit dem Einbau in ein paar Webseiten...

Björn 02.07.2005 18:43

hoi
wollt fragen ob ich mir den code "klaun" darf und denn mit in mein forum einbaun darf
mfg

LonelyPixel 02.07.2005 18:53

Darfst du. Ich hab das Zeug unter der gleichen CC-Lizenz veröffentlicht wie Martin Ng. Näheres steht in der readme.txt. Hab heute noch ein paar kleinere Kompatibilitätsprobleme gelöst, beim Einbau in 2 Seiten. Neueste Version steht zum Download bereit (20050702a).

Fabchan 03.07.2005 11:14

Ein kleiner Fehler ist noch drin: Beim überfahren mit der Maus müsste das "x" eigentlich weißt werden, und der Markierungsrahmen stimmt nciht mit dem Original überein, aber trotzdem großes Lob an dich! Werde es auch bei Gelegenheit in einer meiner Seiten einbauen.

LonelyPixel 03.07.2005 11:34

Ja, ich kann das jetzt leider nicht mehr am Original testen, da mein IE jetzt alle Popups öffnet. Einfach so, ich hab nix verstellt. Ich bekomm also keine Warnleiste mehr. Blöd irgendwie...

Was meinst du mit Markierungsrahmen?

Fabchan 03.07.2005 13:31

Liste der Anhänge anzeigen (Anzahl: 1)
Hab mal ein paar Screenshots gemacht und es hochgeladen. Ist eigentlich relativ irrelevant, das mit dem weißen x fände ich wichtiger.

LonelyPixel 04.07.2005 17:34

Ja, hm, beide Probleme wären zwar lösbar, aber nur mit noch mehr JavaScript. Mach ich vllt irgendwann mal... Akzeptiere auch Patches. ;)

Den Fokusrahmen bekommt man nur weiter rein, nehm ich an, wenn man um das <a> noch einen Container mit Innanbastand rumsetzt. Dann stimmt die :hover-Bezieheung aber nicht mehr, muss man also komplett mit JS lösen dann. Dass der Fokusrahmen nicht bis ganz rechts geht, könnte dagegen schon etwas kniffliger werden. Derzeit ist das <a> display:block; das müsste geändert werden. Mit ner Tabelle vielleicht? Die könnte auch gleich den o.a. Container stellen.

Das weiße X kann man auch mit onmouseover/out ersetzen, gibt dann eine Grafik mehr. Müsste nur mal checken, ob die Farbe von dem X nicht systemfarbenabhängig ist, weiß oder was sehr ähnliches müsste aber dennoch in >99% der Fälle zutreffen.

th 04.07.2005 18:46

Macht euch doch wegen solchen Kleinigkeiten keine Gedanken. Ist doch völlig egal, ob der Fokusrahmen und einige Pixel zu klein ist oder das „X“ beim Hover eine falsche Farbe hat - keiner wird da so genau hinsehen. Hauptsache, es sieht auf dem ersten Block aus wie die vom Internet Explorer.

LonelyPixel 04.07.2005 18:55

Jo, stimmt auch wieder. Wollt's ja auch nicht beheben. :) Diese Art der Warnung find ich ja insoweit faszinierend, dass man nicht sieht, dass das vom Webseitenbetreiber ist, sondern dass es echt so aussieht, als wäre es eine vertrauenswürdige Meldung des IE. :D "So geil..."


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 Uhr.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25