André Mantz: Fenstergröße Pixelgenau einstellen

Hallo,

ich habe folgendes Problem:
Ich will meinen Besuchern eine Art Tickerfenster anbieten. Hierzu öffne ich mit window.open ein neues Fenster. Dieses soll ohne jegliche Anzeigeelemente erscheinen, eine Anzeigefläche von 35 Pixel Höhe und maximaler Breite haben, und am unteren Bildschirmrand kleben.

Und das kriege ich nicht hin:

1. Die Höhe. Ich kriege zwar die Anzeigenbreite hin, indem ich das Fenster mit dem Parameter left=0 beim window.open öffne, und dann innerhalb der Datei die geladen wird die Fenterbreite durch Abfragen von screen.availWidth mit window.resizeTo auf maximale Breite bringe, aber ich schaffe es nicht, das Fenster auf eine Höhe von 35 Pixel zu stellen.
Mit window.resizeTo(xxx, 35), oder auch mit noch kleineren Werten bis hin zu 0 wird eine Anzeigebereichshöhe von min. 64 Pixeln erreicht.

2. Fensterelemente ausschalten
Gibt es eine Möglichkeit, die Windows-Kopfzeile auszuschalten? Ich weiß, dass ich sowas schon mal als "böses Popup-Fenster" gesehen habe, also ein Explorer-Fenster ohne alle Windows-Fensterelemente.

3. Kann man das Fenster so am unteren Bildschirmrand fixieren, dass es niemals von einem anderen Fenster überdeckt wird? Also ein "always on the Top" sozusagen, analog zu den Windows-Symbolleisten.

Ach ja, ich versuche das ganze übrigens mit WinXP und IE 6.0 ... mit einer Netscape-Lösung kann ich leider nix anfangen, meine Besucher sind eh eine geschl. Benutzergruppe, die alle mit IE 5 und IE 6 arbeiten.

Danke für Eure Hilfe,

Gruß, André

  1. Hi André!

    Bin selber neu hier, kann Dir aber vielleicht helfen.

    "Vollbildmodus" ist mein Lösungsvorschlag. Der Internet Explorer erstellt Dir dann ein Fenster OHNE ALLES! Wenn Du dieses Fenster mit resizeTo auf Werte einstellst, die KLEINER sind als screen.availWidth bzw. screen.availHeight, dann erreichst Du diesen Effekt mit der exakten Pixelgröße. ABER VORSICHT! Dieses Fenster kann man nur noch dann schliessen, wenn der Fokus darauf ist und man STRG+W drückt. Sowas kann saumässig nerven! Es sei denn, Du bietest einen Link zum Schliessen an (window.close();)... Man kann mit diesem Fenster übrigens auch sonst nix machen: kein Verschieben, kein minimieren und NIX!!!

    Was dieses "always on top" angeht... Da könnte ich mir nur vorstellen, dass Du in bestimmten Zeitintervallen den Fokus in dieses Fenster holst. Dadurch käme es in den Vordergrund und überdeckt alles andere in diesem Bereich. Wie das funktioniert (so mit Intervall und Timeout setzen) kannste in SelfHTML nachlesen.

    Meiner persönlichen Meinung nach wäre eine Frame-Geschichte besser. Wenn Du ein Frameset definierst, in dem die untere Fensterhälfte mit genau Deinen 35 Pixeln eingestellt ist, kannst Du auch einen Newsticker laufen lassen, der dann sowieso "always on top" ist. Macht sich vielleicht sogar besser, weil Du dann eine "kompaktere" Darstellung hast. (Was soll denn dieses "böse Pop-up", wenn man bereits woanders surft???)

    Grüße, Felix.

    1. Hallo Felix,

      erst mal Danke für den Lösungsansatz ... sieht schon so aus, als wenn das ein Weg wäre. Allerdings bleibt immer noch mein Hauptproblem, dass der IE das Fenster nicht klein genug macht (Höhe). Bei Vollbildfenstern kriege ich das Fenster nicht kleiner als 100 Pixel in der Höhe.

      Zur Überlegung, warum ich da machen will: Es soll absichtlich nicht in einem Frame im Fenster laufen. Die Besucher sollen die Möglichkeit haben, in anderen Windows-Programmen weiterzuarbeiten, und trotzdem gewisse Statusmeldungen über meine Zeile zu bekommen. Natürlich wird diese dann auch einen Button zum Schliessen haben.

      Des weiteren besteht ja noch das Problem, dass das Fenster von anderen Fenstern überlappt wird, wenn diese ihrerseits auf Maximieren gestellt werden. Auch dafür habe ich noch keine Lösung gefunden, obwohl ich mir wie schon gesagt sicher bin, sowas schon mal gesehen zu haben.

      Gruß, André

      Hi André!

      Bin selber neu hier, kann Dir aber vielleicht helfen.

      "Vollbildmodus" ist mein Lösungsvorschlag. Der Internet Explorer erstellt Dir dann ein Fenster OHNE ALLES! Wenn Du dieses Fenster mit resizeTo auf Werte einstellst, die KLEINER sind als screen.availWidth bzw. screen.availHeight, dann erreichst Du diesen Effekt mit der exakten Pixelgröße. ABER VORSICHT! Dieses Fenster kann man nur noch dann schliessen, wenn der Fokus darauf ist und man STRG+W drückt. Sowas kann saumässig nerven! Es sei denn, Du bietest einen Link zum Schliessen an (window.close();)... Man kann mit diesem Fenster übrigens auch sonst nix machen: kein Verschieben, kein minimieren und NIX!!!

      Was dieses "always on top" angeht... Da könnte ich mir nur vorstellen, dass Du in bestimmten Zeitintervallen den Fokus in dieses Fenster holst. Dadurch käme es in den Vordergrund und überdeckt alles andere in diesem Bereich. Wie das funktioniert (so mit Intervall und Timeout setzen) kannste in SelfHTML nachlesen.

      Meiner persönlichen Meinung nach wäre eine Frame-Geschichte besser. Wenn Du ein Frameset definierst, in dem die untere Fensterhälfte mit genau Deinen 35 Pixeln eingestellt ist, kannst Du auch einen Newsticker laufen lassen, der dann sowieso "always on top" ist. Macht sich vielleicht sogar besser, weil Du dann eine "kompaktere" Darstellung hast. (Was soll denn dieses "böse Pop-up", wenn man bereits woanders surft???)

      Grüße, Felix.

      1. Moin!

        Allerdings bleibt immer noch mein Hauptproblem, dass der IE das Fenster nicht klein genug macht (Höhe). Bei Vollbildfenstern kriege ich das Fenster nicht kleiner als 100 Pixel in der Höhe.

        Javascript kann ohne besondere Rechte keine Fenster kleiner als 100 Pixel (egal in welcher Dimension - x oder y) erzeugen. Dazu müßte das Script signiert sein (frag mich aber nicht, wie man sowas macht).

        Die Besucher sollen die Möglichkeit haben, in anderen Windows-Programmen weiterzuarbeiten, und trotzdem gewisse Statusmeldungen über meine Zeile zu bekommen. Natürlich wird diese dann auch einen Button zum Schliessen haben.

        Du solltest dir vermutlich ein Windows-Programm schreiben, was das alles tut. Dabei darfst du dann auch auf den IE als ActiveX-Komponente zurückgreifen, falls du dir keinen eigenen Browser schreiben willst. :) Ansonsten ist dein Vorhaben, wenn überhaupt, nur mit großem Krampf zu erreichen.

        PS: Schreibe deine Antworten unter die Frage, nicht darüber. Wir sind hier nicht bei Jeopardy.

        PPS: Lösche von der vorhergehenden Antwort die Teile, auf die du dich nicht beziehst. Wir sind schließlich nicht Bandbreiten-Krösus, und übersichtlicher ist es auch. :)

        - Sven Rautenberg