Popup mit variablem Bild
Chris
- javascript
Hallo liebes Foum,
Hab jetzt schon einwenig rumprobiert und gesucht,doch nicht erreicht, gefunden, was ich wollte!
Ich möchte ein Popup öffnen mit dem ich Bilder anzeigen kann (unskaliert u.s.w.), doch will ich nicht für jedes Bild eine eigene Datei anlegen müssen! Also hab ich mir gedacht müste der Popup - öffnende - Link einen Parameter übergeben womit das Popup das korrekte Bild darstellt!
Ich weiß bloß überhaupt nicht wie ich das mache! Hat jemand schonmal was ähnliches gemacht und kann mir helfen? Bestimmt oder? Bitte ich will nicht hunderte von Datein baun!
mfg Chris
Hi Chris,
Prinzipiell könntest du das ganze über eine Variable im Hauptfenster und das opener Objekt realisieren, aber hast du mal über eine serverseitige Lösung nachgedacht?
Gruß
Phil
Hi Phil!
Und wie löse ich das serverseitig? Tut mir leid bin zwar nen ganz guter Graphiker aber bei der Programiererei hapert es was! Kannst du mir das was genauer erklärn oder zumidest veraten wo ich infos darüber finde?
mfg Chris
Hallo liebes Foum,
Hab jetzt schon einwenig rumprobiert und gesucht,doch nicht erreicht, gefunden, was ich wollte!
Ich möchte ein Popup öffnen mit dem ich Bilder anzeigen kann (unskaliert u.s.w.), doch will ich nicht für jedes Bild eine eigene Datei anlegen müssen! Also hab ich mir gedacht müste der Popup - öffnende - Link einen Parameter übergeben womit das Popup das korrekte Bild darstellt!
Hi Chris,
ich mache das so:
Link:
<a href="javascript:popup('Bild.jpg',600,450);">Link</a>
Das js:
function popup(bild,width,height) {
newWin = window.open("popup.html?" + bild, "fenstername", "scrollbars=no,toolbar=no,location=no,status=no,resizable=yes,width="+width+",height="+height);
}
Die popup.html:
<HTML>
<BODY onload="self.focus()" leftmargin="0" topmargin="0" marginheight="0" marginwidth="0">
<script language="javascript">
var bild = location.search;
bild = bild.substr(1);
document.write('<IMG SRC="' + bild + '" BORDER=0>');
</script>
</BODY>
</HTML>
LG, piranja
Link:
<a href="javascript:popup('Bild.jpg',600,450);">Link</a>
Das ist in sofern nicht so optimal, weil es ohne JS nicht mehr funktionert obwohl es ein leichtes wäre wenigstens das Bild anzuzeigen:
<a href="bild.jpg"
onclick="popup(this.href,600,450);return false;"
Link</a>
Außerdem hat es den Nachteil, das für jedes Bild der quellcode neu bearbeitet werden muss, wenn die Bildgröße nicht imer gleich ist.
Struppi.
hi
Außerdem hat es den Nachteil, das für jedes Bild der quellcode neu bearbeitet werden muss, wenn die Bildgröße nicht imer gleich ist.
mit php kann man die bildgrösse (width/height) abfragen...
Sox
Hallo Piranja,
habe deinen Code jetzt mal folgendermaßen benutzt:
der link:
<a href="javascript:popup('maske.gif',1000,750);" target="image"><img width="640" src="image/maske.gif" border="0"></a>
die js:
<script language="javasript">
function popup(pic,width,height) {
newWin = window.open("popup.htm?" +bild,"image","scrollbars=no,toolbar=no,location=no,status=no, resizeable=yes,width="+width+",height="+height+");
}
</script>
und die popup.htm:
<html>
<head>
<meta http-equiv="Content-Style-Type" content="text/css">
<link rel="stylesheet" type="text/css" href="style.css">
<body onload="self.focus()" leftmargin="0" topmargin="0" marginheight="0" marginwidth="0">
<script language="javascript">
var bild = location.search;
bild = bild.substr(1);
document.write('<img src="'+bild+'" border=0>');
</script>
</body>
</html>
Leider bekomme ich derzeit noch einen javascript-consolen Fehler:
Fehler: popup is not defined
Quelldatei: javascript:popup('maske.gif',1000,750); Zeile: 1
Was hab ich'n da jetzt noch falsch gemacht?
mfg Chris
der link:
<a href="javascript:popup('maske.gif',1000,750);" target="image"><img width="640" src="image/maske.gif" border="0"></a>
das target bringt dir hier nichts ...
sorry, so besser:
<script language="javascript" type="text/javascript">
function popup(pic,width,height) {
newWin = window.open("popup.htm?" +bild,"image","scrollbars=no,toolbar=no,location=no,status=no, resizeable=yes,width="+width+",height="+height+");
}
</script>
Hast du dieses Script im Head der Seite mit dem obigen Link?
Leider bekomme ich derzeit noch einen javascript-consolen Fehler:
Fehler: popup is not defined
Quelldatei: javascript:popup('maske.gif',1000,750); Zeile: 1
der link:
<a href="javascript:popup('maske.gif',1000,750);" target="image"><img width="640" src="image/maske.gif" border="0"></a>
Wie ich schon schribe, ist dieser Code nicht optimal.
<a href="maske.gif"
onclick="popup(this.href,1000,750);return false" target="image"><img width="640" src="image/maske.gif" border="0"></a>
ist sinvoller. nebenbei könntest du hier auch das target einbauen.
<a
href="maske.gif"
onclick="popup(this.href,this.target1000,750);return false"
target="image"
<img width="640" src="image/maske.gif" border="0"></a>
die js:
<script language="javasript">
Hier fehlt das Type Attribut
function popup(pic,width,height) {
und um das Target zu verwenden:
function popup(pic,target, width,height) {
newWin = window.open("popup.htm?" +bild,"image","scrollbars=no,toolbar=no,location=no,status=no, resizeable=yes,width="+width+",height="+height+");
var newWin = window.open("popup.htm?" +bild, target, "scrollbars=no,toolbar=no,location=no,status=no, resizeable=yes,width="+width+",height="+height+").focus();
focus() ist wichtig, da sonst beim 2. Klick das popup nicht in den Vordergrund kommt.
<script language="javascript">
auch hier fehlt das type Attribut
Struppi.
Hallo Struppi! Fettes Dankeschön an dich!
Doch warum funktioniert mein stylesheet im popup nicht?
der Link zum stylesheet:
<link rel="stylesheet" type="text/css" href="style_pic.css">
und dies der stylesheet selber:
body { background-image:url(image/image_bg.jpg); background-repeat:no-repeat; background-attachment:fixed; }
mfg Chris
Ich möchte ein Popup öffnen mit dem ich Bilder anzeigen kann (unskaliert u.s.w.), doch will ich nicht für jedes Bild eine eigene Datei anlegen müssen! Also hab ich mir gedacht müste der Popup - öffnende - Link einen Parameter übergeben womit das Popup das korrekte Bild darstellt!
Das ist nicht ganz so einfach.
Das Problem ist, dass alle Browser die Fenster unterschiedlich gross öffnen. so das z.b. dieses Skript http://home.arcor.de/struebig/js/popup/popup_alt.htm in jedem Browser das Fenster in einer anderen Größe öffnet. Meine Versuche das anzupassen waren bisher nicht ganz erfolgreich http://home.arcor.de/struebig/js/popup/index.htm
hioer hab ich mal versucht das Problem mit Layern zu lösen:
http://home.arcor.de/struebig/js/thumb/index.html
Struppi.
Ich möchte ein Popup öffnen mit dem ich Bilder anzeigen kann (unskaliert u.s.w.), doch will ich nicht für jedes Bild eine eigene Datei anlegen müssen! Also hab ich mir gedacht müste der Popup - öffnende - Link einen Parameter übergeben womit das Popup das korrekte Bild darstellt!
Ich weiß bloß überhaupt nicht wie ich das mache! Hat jemand schonmal was ähnliches gemacht und kann mir helfen? Bestimmt oder? Bitte ich will nicht hunderte von Datein baun!mfg Chris
ich hoffe ich hab dein problem richtig verstanden. alos hier mein losungansatz:
function(imgURL)
{
neuesFenster=window.open("","[TiteldesFensters]","[options]")
neuesFenster.document.write('<center><img src="'+imgURL+'" height="200" width="350" alt="'+imgURL+'"></center>
}
also das ist meiner sache nach der kern, kannstes ja auch noch höhe und breite als parameter übergeben.
}