Fenstergröße von Html-Link automatisch anpassen
kart672
- javascript
Hallo!
Ich arbeite an einer Seite für eine Plattenfirma, auf der jede Menge CD's mit Cover-Thumbnails zu sehen sind (wie bei iTunes). Wenn man eine CD anklickt, soll sich ein neues Fenster öffnen, das in einer Tabelle ein größeres Cover und eine Auflistung der CD-Titel anzeigt.
Ich hätte es gerne so, dass sich das neu öffnende Fenster genau an die Maße der Tabelle anpasst.
Ich habe bereits den folgenden Code erfolgreich für das Öffnen von Bildern in einem Fenster anwenden können, weiß aber nicht, wie ich das auf eine zu öffnende Html-Datei übertragen kann.
Quelle:
http://community.smartstore.de/forum/de/topic.asp?TOPIC_ID=7981&whichpage=4&ARCHIVE=
------------------------- (Beginn Codebeispiel) ------------------
1. Script zwischen <head></head> einfügen
<script type="text/javascript">
<!--
// Popup-Window
function popup(loc){
HTML="<html><head><meta http-equiv="imagetoolbar" content="no"><style>body{margin:0px 0px 0px 0px}</style></head><body onBlur='top.close()' ondragstart='return false' onselectstart='return false' onContextMenu='return false'><a href="javascript:window.close()"><img src='hier das Verzeichniss angeben bis zu euren Bilder/"+loc+"' border=0 alt="Fenster schliessen"name=li onLoad='window.resizeTo(document.li.width+10,document.li.height+29)'></a></body></html>";
if(window.screen) var myleft=100,mytop=50;
popupImage=window.open('about:blank','_blank','toolbar=no,scrollbars=no,width=600,height=500,left='+myleft+',top='+mytop);
popupImage.document.open();
popupImage.document.write(HTML);
popupImage.document.close();
}
-->
</script>
2. Link zwischen <body></body> angeben
<a href="javascript:popup('foto.jpg')"target=_self>Popup öffnen</a>
------------------------- (Ende Codebeispiel) ---------------------
Hat jemand eine Idee, wie man das realisieren könnte?
Viele Grüße
Marius
Hello out there!
[…] soll sich ein neues Fenster öffnen, das in einer Tabelle ein größeres Cover und eine Auflistung der CD-Titel anzeigt.
Ich hätte es gerne so, dass sich das neu öffnende Fenster genau an die Maße der Tabelle anpasst.
Tabelle? Und woher wollst du wissen, wieviel Platz zum Anzeigen der Titel benötigt wird? Du kennst nicht die beim Nutzer verwendete Schriftgröße.
Und an Nutzer und andere Clients ohne JavaScript hast du auch gedacht? Für die muss zumindest eine Alternative zur Verfügung stehen, sonst ist deine Website für sie wertlos.
Da Popups oft nerven, haben auch viele einen Blocker dagegen installiert.
Ich würd das Ganze nochmal überdenken und vielleicht doch die gute alte Verlinkung auf eine normale Webseite anwenden.
See ya up the road,
Gunnar
Hallo Gunnar,
[…] soll sich ein neues Fenster öffnen, das in einer Tabelle ein größeres Cover und eine Auflistung der CD-Titel anzeigt.
Ich hätte es gerne so, dass sich das neu öffnende Fenster genau an die Maße der Tabelle anpasst.Tabelle? Und woher wollst du wissen, wieviel Platz zum Anzeigen der Titel benötigt wird? Du kennst nicht die beim Nutzer verwendete Schriftgröße.
das ist irrelevant.
Und an Nutzer und andere Clients ohne JavaScript hast du auch gedacht? Für die muss zumindest eine Alternative zur Verfügung stehen, sonst ist deine Website für sie wertlos.
Da Popups oft nerven, haben auch viele einen Blocker dagegen installiert.
...der sich allermeißt ausschließlich um das Event onload kümmert.
Hallo kart672,
erstelle die Tabelle im aktuellen Dokument dynamisch, setze sich über style mit visibility auf "hidden", bestimme offsetHeight und offsetWidth, öffne das Fenster mit den gewonnenen Werten, indem lediglich ein Grundgerüst geladen wird und kopiere eine Instanz der Tabelle in das Fenster.
Gruß aus Berlin!
eddi
Hallo eddi,
Da Popups oft nerven, haben auch viele einen Blocker dagegen installiert.
...der sich allermeißt ausschließlich um das Event onload kümmert.
das halte ich für ein Gerücht. So einen Popup-Blocker hätte ich schnell wieder entsorgt, weil er im praktischen Alltag nichts taugen würde. ;-)
Hier zuhause benutze ich einen in meine Desktop-Firewall integrierten Popup-Blocker, der nichts anderes tut als in Javascript-Dateien bzw. Scriptbereichen in HTML-Dateien den Ausdruck
window.open(...)
in
new Object(...)
umzuschreiben.
Am Arbeitsplatz habe ich einen Popup-Blocker, bei dem ich nicht so genau weiß, auf welcher Basis er funktioniert; aber er blockt zuverlässig unerwünschte Popups, auch wenn sie ganz anders erzeugt werden. Erwünschte, d.h. durch Klick angeforderte Popups lässt er dagegen zu.
Eine Sache ist mir allerdings bis heute nicht klar: Sowohl zuhause als auch am Arbeitsplatz habe ich Javascript im IE kategorisch deaktiviert. Und *trotzdem* kommen ein paar Popups durch, wenn ich den Blocker abschalte. Wie zum Geier, wenn nicht durch JS, werden die ausgelöst? *blödguck*
So long,
Martin