Zur Navigation

Bilder in vorgegebener Fenstergröße öffnen. [2]

11 rockford

Woher weiß er dann, dass es sich um eine Grafik handelt. Es könnte doch ebenso ein Dokument sein.

Oder statt .jpg .gif?


Also sieht es jetzt so aus:



<HTML>
<HEAD>
<TITLE>Test</TITLE>




<script language="JavaScript">
<!--



var ns = (document.all)?false:true;
var browserVersion = parseFloat(navigator.appVersion );
PositionX = 100;
PositionY = 100;
if (parseInt(navigator.appVersion.charAt(0))>=4){
var isNN=(navigator.appName=="Netscape")?1:0;
var isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;
}
var optNN='scrollbars=no,width='+defaultWidth+',height='+defaultHeight+',left='+PositionX+',top='+PositionY;
var optIE='scrollbars=no,width=150,height=100,left='+PositionX+',top='+PositionY;

function popup(imageURL){
if (isNN){imgWin=window.open('picture.php?picname='+imageURL,'',optNN);}
if (isIE){imgWin=window.open('picture.php?picname='+imageURL,'',optIE);}
}
//-->
</script>


</HEAD>

<body>

<a href="javascript:popup('images/bdw');">Text oder Bild</a>
</body>


In der Vorschau sagt er:

Fehler:

Zeile: 23
Zeichen: 1
Fehler: 'defaultWitdh' ist undefiniert
Code: 0
URL: file://C:\Dokumente und Einstellungen\work\Lokale Einstellungen\Temp\FrontPageTempDir\pvw31.htm



?? (!)


Gruß
Rock

05.09.2005 14:08 | geändert: 05.09.2005 14:14

12 C)-(iLL@

Notiz: Sorry, in den PHP-Code war mir eine Klammer gerutscht. Ich habe sie korrigiert. Auch die 2 fehlenden JS-Variablen (wo hab ich nur meinen Kopf?=)
Wenn Du mehrere Bildformate möchtest, kannst Du die Erweiterung auch mitübergeben. Ich dachte mir nur, wenn es eine Standarderweiterung gibt, dann kannst Du dir sie auch sparen, da sonst jemand mit dem Aufruf picture.php?picname= irgendein Bild aufrufen kann. Wenn Dir das nichts ausmacht, dann kannst Du in picture.php die Zeile
 <img id="pic0" name="pic0" src='<?=$_GET["picname"]?>.jpg'>
ändern in
 <img id="pic0" name="pic0" src='<?=$_GET["picname"]?>'>

und den Aufruf dann mit Erweiterung starten. Das auf ein Verzeichnis einzugrenzen wäre auch keine schlechte Idee. Mit
 <img id="pic0" name="pic0" src='./images/<?=$_GET["picname"]?>'>
in pictures.php könntest Du die Aufrufe auch mit
<a href="javascript:popup('bdw.jpg');">Text oder Bild</a>
machen.

05.09.2005 14:15 | geändert: 05.09.2005 14:17

13 rockford

'lol'

jetzt ist es soweit. Ich verstehe nur noch Bahnhof.
Also ich habe die picture.php geändert. So weit so gut.

Aber dann weiß ich nicht weiter. Der Fehler bleibt unverändert in Zeile 23. Ich hatte meinen letzten Beitrag editiert. Hast Du das bemerkt?

05.09.2005 14:24

14 C)-(iLL@

*g* Das ist echt verwirrend mit dem Editieren, wenn es schnell geht. Lies meinen ersten Beitrag nochmal, kopier die Codezeilen für das JS im Head der Hauptseite raus, und es wird funktionieren. Da haben 2 JS Variablen gefehlt. Ich habe den Code aus einem Skript, das bereits auf einer meiner Webs läuft, da sind die Variablen anderswo deklariert, sodass ich sie übersehen hatte.

05.09.2005 14:28

15 rockford

Gut Gut...

Also jetzt sieht's so aus:


<HTML>
<HEAD>
<TITLE>Test</TITLE>




<script language="JavaScript">
<!--



var ns = (document.all)?false:true;
var browserVersion = parseFloat(navigator.appVersion );
PositionX = 100;
PositionY = 100;
defaultWidth = 420;
defaultHeight = 420;
if (parseInt(navigator.appVersion.charAt(0))>=4){
var isNN=(navigator.appName=="Netscape")?1:0;
var isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;
}
var optNN='scrollbars=no,width='+defaultWidth+',height='+defaultHeight+',left='+PositionX+',top='+PositionY;
var optIE='scrollbars=no,width=150,height=100,left='+PositionX+',top='+PositionY;

function popup(imageURL){
if (isNN){imgWin=window.open('picture.php?picname='+imageURL,'',optNN);}
if (isIE){imgWin=window.open('picture.php?picname='+imageURL,'',optIE);}
}
//-->
</script>


</HEAD>

<body>

<a href="javascript:popup('bdw');">Text oder Bild</a>
</body>


Dass ist die picture.php:


<html>
<head>
<title>Bildergalerie</title>
<style type="text/css">
body { margin:0; padding:0; }
img { display:block; }
</style>
<script type="text/javascript">
var isNN,isIE;
if (parseInt(navigator.appVersion.charAt(0))>=4){
isNN=(navigator.appName=="Netscape")?1:0;
isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;
}
function reSizeToImage(){
if (isIE) {
window.resizeTo(100,100);
width=100-(document.body.clientWidth-document.images[0].width);
height=100-(document.body.clientHeight-document.images[0].height);
window.resizeTo(width,height);
}
if (isNN) {
window.innerWidth=document.images["pic0"].width;
window.innerHeight=document.images["pic0"].height;
}
}
</script>
</head>
<body bgcolor=000000 scroll="no" onload="reSizeToImage();self.focus()" onblur="self.close()">
<img id="pic0" name="pic0" src='<?=$_GET["picname"]?>'>
</body>
</html>

Beide Dateien liegen im selben Verzeichnis. Das Bild liegt eine Ebene tiefer im Ordner /images.

Nur leider funktioniert es noch immer nicht. Er sagt beim anklicken des Links, dass die Datei picture.php?picname=bdw nicht gefunden wurde???

05.09.2005 14:39

16 C)-(iLL@

Wenn Du in Picture.php die Bilddatei so lädst:
<img id="pic0" name="pic0" src='<?=$_GET["picname"]?>'>
Dann musst Du den Aufruf mit
<a href="javascript:popup('images/bdw.jpg');">Text oder Bild</a>

machen, wenn das 'images' ein Unterordner ist und das php eine Verzeichnisebene höher liegt.
 Er sagt beim anklicken des Links, dass die Datei picture.php?picname=bdw nicht gefunden wurde???
Liegen die .htm der Bildgalerie und die picture.php wirklich im selben Ordner und stimmen die Dateinamen? Ich habe es soeben getestet und es funktioniert wunderbar hier.

05.09.2005 14:49

17 rockford

Es handelt sich ja nur um drei Dateien:

Im Verzeichnis root

1. ) Das HTML - Dokument, welches den Link zum Bild enthällt
2. ) Die Datei picture.php

Ein Verzeichnis tiefer ( /images )

3.) Die Grafik bdw.jpg



Und so sieht die Fehlermeldung aus:

Fehlermeldung


Es will einfach nicht funktionieren. Die Dateien sehen genau so aus, wie Du sie schon gesehen hast....

05.09.2005 15:03

18 C)-(iLL@

Entschuldige, ich wusste nicht, dass Du das auf der Festplatte testest ;))) Das wird nicht so ohne weiteres gehen. Teste es doch mal auf dem Webserver.

05.09.2005 15:04

19 rockford

OH.... Dass wußte ich nicht.

Ich habe es hochgeladen, und es sieht schon wesentlich besser aus.
Nur leider befindet sich jetzt ein schwarzer Balken unter der Grafik?

http://fost04.fo.funpic.de/test.htm

05.09.2005 15:14

20 rockford

Ah, ich hab den Fehler auch schon gefunden.
Dann sag mal vielen Dank für Deine Mühen. Du warst mir eine große Hilfe. (!!)

Kann ich dieses Verfahren denn auch bei .html Dateien anwenden?

05.09.2005 15:21