Keine Scrollleisten trotz scrollbars=auto
bjoern
- javascript
0 Felix Riesterer0 bjoern0 Der Martin
Hello there!
Ich lasse ein Fenster öffnen, dass je nach Inhalt eine Scrollleiste anzeigen bzw. nicht anzeigen soll. Per scrollbars='auto' soll automatisch entschieden werden, ob Scrollbars angezeigt werden.
Allerdings werden nie scrollbars angezeigt. wo liegt das Problem?
Gruß Björn
Lieber bjoern,
Allerdings werden nie scrollbars angezeigt. wo liegt das Problem?
das Problem liegt darin, dass so, wie Du es machst, das eben nicht funktioniert!
Wenn Du von mir jetzt gerne genauere Auskunft hättest, dann kann ich die Dir nicht geben, denn Du gibst ja auch keine (CODE!!!).
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Wenn Du von mir jetzt gerne genauere Auskunft hättest, dann kann ich die Dir nicht geben, denn Du gibst ja auch keine (CODE!!!).
<a href="#" onclick="javascript:window.open(kalender.html','kalender','height=398, width=600, scrollbars=auto, statusbar=no'); return false;">Link</a>
Gruß Björn
Hallo Björn,
<a href="#" onclick="javascript:window.open(kalender.html','kalender','height=398, width=600, scrollbars=auto, statusbar=no'); return false;">Link</a>
das ist Asche, weil Besucher ohne Javascript _gar nichts_ bekommen. Gib denen wenigstens die Möglichkeit, die Zielseite überhaupt zu sehen, wenn auch nicht in der Fenstergröße, die du für angebracht hältst. Die Sprungmarke (Label) javascript: kannst du dabei auch gleich weglassen:
<a href="kalender.html" onclick="window.open(this.href,'kalender','height=398, width=600, scrollbars=auto, statusbar=no'); return false;">Link</a>
Wenn dann trotz scrollbars=auto keine Scrollbalken angezeigt werden, lass die Angabe doch einfach weg. Dann hast du das Default-Verhalten der Browser, bei dem Scrollbalken angezeigt werden, sobald nötig.
Oder enthält das geladene Dokument kalender.html selbst irgendeine Anweisung, die Scrollbalken unterdrückt?
Schönen Abend noch,
Martin
Oder enthält das geladene Dokument kalender.html selbst irgendeine Anweisung, die Scrollbalken unterdrückt?
Nein, hat es nicht. Die scrollbars='auto' weg zu lassen, bringt auch nichts, die Scrollleisten werden dann auch nicht angezeigt. ziemlich dumm...
Hi bjoern!
Nein, hat es nicht. Die scrollbars='auto' weg zu lassen, bringt auch nichts, die Scrollleisten werden dann auch nicht angezeigt. ziemlich dumm...
Dann solltest du uns mehr Code geben. Denn deine Angaben sind immer noch sehr mager. Ich glaube wie Martin, das an der geladenen Seite liegt.
MfG H☼psel
Dann solltest du uns mehr Code geben. Denn deine Angaben sind immer noch sehr mager. Ich glaube wie Martin, das an der geladenen Seite liegt.
Der Link:
<a href="#" onclick="javascript:window.open(kalender.php','kalender','height=398, width=600, scrollbars=auto, statusbar=no'); return false;">Link</a>
Die Datei:
Diese kalender.php enthzält folgenden Inhalt:
<?php
$day = $_GET['day'];
include($day.".html");
//$location = "Location: ".$day.".html";
//header($location);
?>
Also lädt kalender.php?day=10 die Datei 10.html Dies habe ich in der Version mit dem include-Befehl und mit dem Location Verweis versucht.
Beide Verweise haben das selbe Problem zur folge:
Diese Lösung hat einen tifergreifenden Hintergrund, wichtig ist hier nur, dass deswegen der Scrollbalken nicht angezeigt wird.
Wie lässt sich mit diesem PHP-Script trotzdem ein Scrollbalken verwirklichen?
Gruß Björn
Hallo bjoern
Die Datei:
Diese kalender.php enthzält folgenden Inhalt:
<?php
...
?>
Das Script interessiert hier weniger, wichtig ist allerdings, was dann beim
Userclient ankommt.
Auf Wiederlesen
Detlef
Das Script interessiert hier weniger, wichtig ist allerdings, was dann beim
Userclient ankommt.
Es kommt eine ganz normale Html-Seite beim Benutzer an:
<html>
<head>
<title>Adventskalender</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="../style.css" />
</head>
<body>
<h1>1. Dezember</h1>
<p>Text Bla bla bla bla...</p>
<p align="right"><a href="kalender.html">zurück zum Kalender</a></p>
</body>
</html>
Das Skrip interessiert schon, denn der fehlende Scrollbalken muss an ihm liegen. lädt man die html direkt, funktionierts..
Gruß
Björn
Hallo bjoern
Das Script interessiert hier weniger, wichtig ist allerdings, was dann beim
Userclient ankommt.Es kommt eine ganz normale Html-Seite beim Benutzer an:
<html>
...
<link rel="stylesheet" type="text/css" href="../style.css" />
Was bekommt der Browser in "../style.css", beim lokalen Aufruf und was beim
Webserver?
Mit welchem Contenttyp wird sie ausgeliefert (lokal, Webserver)?
...
</html>
Das ist eine Version, wie sieht die andere aus?
Das Skrip interessiert schon, denn der fehlende Scrollbalken muss an ihm liegen. lädt man die html direkt, funktionierts..
Nein, es interessiert erstmal überhaupt nicht!
Der Browser weiß überhaupt nichts von einem PHP-Script, er bekommt vom
Server HTML, CSS usw. geliefert, egal ob dieses statisch auf dem Server
liegt oder von einem Script generiert wird.
Du musst vergleichen, ob und welche Unterschiede es zwischen dem gibt, was
der Browser bekommt, wenn du es vom lokalen oder vom Web-Server aufrufst.
Nur wenn du diese Unterschiede findest, kannst du auch fesstellen, welcher
Fehler eventuel im Skript steckt.
Schaue dir auch die mitgeliefeerten HTTP-Header an.
Auf Wiederlesen
Detlef
Lieber Martin,
Wenn dann trotz scrollbars=auto keine Scrollbalken angezeigt werden, lass die Angabe doch einfach weg. Dann hast du das Default-Verhalten der Browser, bei dem Scrollbalken angezeigt werden, sobald nötig.
das scheint nicht so zu sein, wie Du es beschreibst!
Nach meinen Experimenten, blendet FF und IE bei leerem dritten Parameter von window.open()
alle Menüzeilen, Scrollbars und Navigationsmenüs ein, wie sie im momentanen Browserfenster auch eingestellt sind. Gibt man dem dritten Parameter aber einen Inhalt (egal, welchen), so schrumpelt das neue Fenster zusammen auf den Viewport mit Fensterbalken, ohne alles andere (es sei denn, man hat eine Komponente explizit "eingeschaltet"). Probiere es doch aus!
Mein Vorschlag ist, dass man auf Popups komplett verzichtet, es sei denn, dass man in einem Webdialog etwas eingeben soll (z.B. eine erweiterte Smiley-Liste in einem Gästebuch, oder was anderes). Nur, um einen Kalender anzuzeigen, halte ich ein Popup für Besucher-abschreckend!!
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Hallo Felix,
Nach meinen Experimenten, blendet FF und IE bei leerem dritten Parameter von
window.open()
alle Menüzeilen, Scrollbars und Navigationsmenüs ein, wie sie im momentanen Browserfenster auch eingestellt sind.
Soweit war mir das klar.
Gibt man dem dritten Parameter aber einen Inhalt (egal, welchen), so schrumpelt das neue Fenster zusammen auf den Viewport mit Fensterbalken, ohne alles andere (es sei denn, man hat eine Komponente explizit "eingeschaltet").
Diese Hinterhältigkeit war mir dagegen nicht bewusst. Ich bin davon ausgegangen, dass für jeden Parameter, der nicht explizit angegeben wird, die Defaultwerte gelten. Da ich selbst nicht gerade zu den Befürwortern von Javascript im Allgemeinen und Popups im Speziellen bin, ist mir das auch noch nie live aufgefallen.
Danke jedenfalls für den wertvollen Hinweis.
Mein Vorschlag ist, dass man auf Popups komplett verzichtet [...] Nur, um einen Kalender anzuzeigen, halte ich ein Popup für Besucher-abschreckend!!
Da kann ich mich nur anschließen.
Schönen Abend noch aus Backnang (wo es inzwischen angefangen hat zu schneien)
Martin