Popup, Browserkompatibilität

Status
Nicht offen für weitere Antworten.

black-dog

Erfahrenes Mitglied
Hi zusammen!

Ich bastle mal wieder an nem kleinen Projekt und bin mal ganz grundsätzlich am herumspielen mit popups. Der untenstehende Link führt euch zu einem Beispiel dafür, was ich tun möchte:

http://mypage.bluewin.ch/thomasjulier/

Nun sollte das popup allerdings in jedem Browser möglichst identisch aussehen! ich überprüfe meine Websites jeweils mit IE, mozilla, opera, safari und netscape auf ihre Kompatibilität (mac und pc). Jeder Browser hat aber seine ziemlich eigene Art, die Seite darzustellen!

IE:
ie.jpg

grösse: 581 x 103

Mozilla:
mozilla.jpg

grösse: 568 x 392

Opera:
opera.jpg

grösse: 566 x 388

a) Auf was bezieht sich denn height und width in meinem Script?
Code:
<a href="popup.html" onclick="neuesFenster(this.href, 'PopUp','565','365','yes','no','no');return false">PopUp</a>

b) Wie kann ich mein popup kompatibler machen?

c) Der vertikale Scrollbar ist, wie im Beispiel ersichtlich, bewusst eingeblendet. Wie kann ich ihn sichtbar machen, und den horizontalen Scrollbar um jeden Preis unterdrücken?
 
Zuletzt bearbeitet:
Hi,

Du hast keinen direkten Einfluss darauf, wie breit die verschiedenen Browser z.B. Fensterränder und Rollbalken darstellen (was zudem auch von den Einstellungen des Benutzers abhängt). Netscape-kompatible Browser unterstützen z.T. die Parameter innerHeight und innerWidth, mit denen die Größe des sichtbaren Bereichs (also des Inhalts) des PopUps festgelegt werden kann. Mit ein wenig "Sicherheitsspielraum" gelingt es aber meistens, das Popup halbwegs Browserkompatibel darzustellen: Angenommen ich habe ein Dokument mit einem Bild (500x350px) als Header - zunächst sollten (mit margin oder CSS) die Seitenränder abgeschaltet werden:
PHP:
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr> 
    <td><img name="test" src="somepic.jpg" width="500" height="350" alt=""></td>
  </tr>
  <tr> 
    <td>Text...</td>
  </tr>
</table>
</body>
Mit einer Breite von ca. 520 Pixeln habe ich nun z.B. in allen Browsern (zumindest unter Windows) ein recht ähnliches Ergebnis erzielt:
PHP:
window.open("popup.htm","testpop","WIDTH=520,HEIGHT=350,scrollbars");
Den horizontalen Rollbalken kannst Du m.E. nicht explizit abschalten - entweder machst arbeitest Du mit einem Sicherheitsspielraum in der Breite, oder Du schaltest die Rollbalken ganz ab und packst Deinen Inhalt in ein DIV mit overflow=auto:
PHP:
<div id="mydiv" style="position: absolute; overflow: auto; left: 0; top: 0; width: 100%; height: 100%;">
Auch dann wirst Du um einen Sicherheitsabstand nicht herumkommen, da immer die benötigten Rollbalken eingeblendet werden. Mit einem DIV oder einer Tabelle mit der Breite 100% kannst Du eigentlich nichts falsch machen, da sich der Textinhalt an diesen Maßen orientiert. Lediglich das Bild mit einer festen Größe wird nicht skaliert und sollte deshalb immer etwas schmaler als die Fensterbreite sein.

Gruß
 
Status
Nicht offen für weitere Antworten.
Zurück