Java Script = Verzweiflung...

  • Ersteller Ersteller alöx
  • Erstellt am Erstellt am
A

alöx

Guest
Ahoi ich stör mal wieder. Ich hab diesmal folgendes Problem, ich arbeite gerade an einer neuen Galerie für meine Homepage und diese soll auf Popups basieren.
Sprich eine Vorschauseite und bei Klick dann ein PopUp in Bildgröße. Jetzt kommt aber das Problem. Das PopUp soll nun auch wieder zu gehen wenn man drauf klickt und dazu war ich schon in hundert Foren und hab 500 Quelltexte durchgelesen. Aber es funzt einfach nicht. Hier ist jetzt der Aktuelle stand der Dinge http://ab.mscserver.com/galerie.htm

Und das ist der Quelltext dazu...
Code:
<head>
<title>testgalerie</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="keywords" content="objekt des testens">
<script type="text/javascript">
<!--
window.moveTo(xpos,ypos); 
window.resizeTo(xsize,ysize);
function PopUp()
{
window.open('http://ab.mscserver.com/cottbusmdc061.jpg','keiner','height=603,width=451,dependent=no,location=no,menubar=no,resizable=no,status=yes,toolbar=no');
}
window.close('<a href="JavaScript:self.close()"><img src="'+url+'" hspace="0" vspace="0" border="0"></A>')
//-->
</script> 
</head>
<body>
<a href="JavaScript:PopUp()"><img src="http://ab.mscserver.com/cottbusmdc061.jpg" width="108" height="144" border="0"></a> 
</body>


Ich wäre dankbar für jede Hilfe die mich nach 3 Wochen probieren zum Ziel führt.

mfg der alex
 
Servus,

du kannst das Schliessen des Fensters nur von diesem Document selbst aus auslösen.
d.h. du musst eine html-Seite öffnen, der du als Parameter dein Bild mitgibst.
Du fügst dieses Bild dynamisch ein und gibst ihm einen onClick-Event mit in dem onClick="self.close()" steht.

Hoffe das war so einigermassen verständlich...

Viel Spass

Harald
 
HaraldG schrieb:
Servus,

du kannst das Schliessen des Fensters nur von diesem Document selbst aus auslösen.
d.h. du musst eine html-Seite öffnen, der du als Parameter dein Bild mitgibst.
Du fügst dieses Bild dynamisch ein und gibst ihm einen onClick-Event mit in dem onClick="self.close()" steht.

Hoffe das war so einigermassen verständlich...

Viel Spass

Harald


Ich hab jetz Verstanden... ich habe eine "Leerseite" die fest existiert und in diese wird immer das Bild reingeladen. Und in eben dieser Seite steht das onClick drin?! Ja. oder?
 
Ok. Dann ist ja schonmal ein Stück geholfen. Danke :daumen:

Und welche Parameter aus dem o.g. Quelltext müssen dann noch rein?
Ui da hab ich mir mal wieder eine Arbeit aufgeheimst... :heul:

Naja ich hab Mittwoch und Donnerstag frei da weiß ich ja was ich mache :lol:

für weitere Ideen und Beispiel ect bin ich natürlich offen.
 
Wahnsinn... ich glaub das funzt sogar... also es kommt mir so vor als wäre ich jetzt auf dem richtigen Weg.

Merci beaucoup!
 
CaptainPsycho schrieb:
Ein wenig OT:

Meinst das mit den popups ist ne gute idee?

Ich persönlich hasse sowas!
Mach lieber nen Vorschaubalken wo die Thumbs sind und dann in den Hauptteil die Bilder.

http://www.ride-le.de/home.php?subm...ws/news/24.04.2005 cottbus/24.04.2005 cottbus

So hab ich das gelöst.

Gruss Joachim

Mist... eigentlich auch ne Prima Idee, weil PopUps sind mir auch suspekt aber ich hielt es bis jetzt für ne gute Umsetzung. Soll ich jetzt nach drei wochen PC verprügeln und Tastatur zerschlagen alles übern haufen werfen...

:heul: :confused:
 
alöx schrieb:
Mist... eigentlich auch ne Prima Idee, weil PopUps sind mir auch suspekt aber ich hielt es bis jetzt für ne gute Umsetzung. Soll ich jetzt nach drei wochen PC verprügeln und Tastatur zerschlagen alles übern haufen werfen...

:heul: :confused:

Naja ich sage mal so bei mir geht schonmal pauschal kein PopUp auf, die muss ich erst erlauben.

Und die Sache, die ich hier mit php gebastelt habe geht echt schnell.

Wenn du möchtest schick ich es dir zu oder poste es hier.

Ein weiterer Vorteil ist einfach einmal, dass alles auf dem Server gemacht wird und der client nix machen muss, und deshalb auch keine Schädlinge oder so im Javacode sind, weil keiner da ist. ;-)

Gruss Joachim
 
CaptainPsycho schrieb:
Naja ich sage mal so bei mir geht schonmal pauschal kein PopUp auf, die muss ich erst erlauben.

Und die Sache, die ich hier mit php gebastelt habe geht echt schnell.

Wenn du möchtest schick ich es dir zu oder poste es hier.

Ein weiterer Vorteil ist einfach einmal, dass alles auf dem Server gemacht wird und der client nix machen muss, und deshalb auch keine Schädlinge oder so im Javacode sind, weil keiner da ist. ;-)

Gruss Joachim

Problem an der Sache ist von php hab ich erstens kein Plan und zweitens läuft es auf meinen Webspace nicht. Zumindest nicht auf dem wo die HP ist. Der wo die "Testgalerie" ist macht es mit aber den will i net unbedingt Opfern.

Aber ein Versuch ist es Wert. Geht es wenn ich die Seite selber auf dem php-Server habe und die Bilder auf meinem HP-Server? Eigentlich schon, oder?

So langsam brauch ich echt ne Lösung die Pflegeleicht ist weil ich jede Woche ca 20 Bilder updaten will. Wenn mir die PHP-Geschichte mal postest wäre ich mega dankbar. Entweder [email protected] oder halt hier.

merci
 
Such einmal nach selfPHP.

Du könntest es sogar so machen, dass du das phpScript so erweiterst, dass er selbstständig immer schaut ob ein neuer Ordner mit Bildern hinzugekommen ist dann automatisch den HTML Kram generiert und die Bilder in geeignete Grössen konvertiert. Das will ich auch noch machen, dass er die Thumbleiste vollautomatisch erstellt. z.Z. geb ich da noch ordnernamen und Bildanzahl an.

- Die aktuelle Webseite wird immer aus verschiedenen Dateien zusammengesetzt mit includes. Für dich interessant der Part mit dem Pic.

Code:
<?PHP		

	// Header includen
	include("header/header.php");
		
	//Menu includen
	include("menu/menu.php");
	
	//Submenu includen
	$submenupath = "menu/submenu/";
	if(isset($_GET['submenu'])) $submenu = $_GET['submenu'];
	else $submenu = "home";
	if (file_exists($submenupath.$submenu.".html")) { include($submenupath.$submenu.".html"); }
	else if (file_exists($submenupath.$submenu.".php")) { include($submenupath.$submenu.".php"); }
	else { echo " <br><b><center>Error 404<br><br>Seite noch in Arbeit</center></b><br> "; }
?>

<!--Content-->
<!--Content div oeffnen-->
<div class="content">
<?PHP	
	//Contentmenu includen
	$contentmenupath = "content/contentmenu/";
	if(isset($_GET['contentmenu'])) $contentmenu = $_GET['contentmenu'];
	else $contentmenu = "/home/home";
	if (file_exists($contentmenupath.$contentmenu.".html")) { include($contentmenupath.$contentmenu.".html"); }
	else if (file_exists($contentmenupath.$contentmenu.".php")) { include($contentmenupath.$contentmenu.".php"); }
	else { echo " <br><b><center>Error 404<br><br>Seite noch in Arbeit</center></b><br> "; }
	
	//Contentmain includen
	//Testen ob contentmain initialisiert ist. Wenn ja wird eine Contentseite included. 
	if(isset($_GET['contentmain']))
	{
		$contentmainpath = "content/contentmain/";
		$contentmain = $_GET['contentmain'];
		if (file_exists($contentmainpath.$contentmain.".html")) { include($contentmainpath.$contentmain.".html"); }
		else if (file_exists($contentmainpath.$contentmain.".php")) { include($contentmainpath.$contentmain.".php"); }
		else { echo " <br><b><center>Error 404<br><br>Seite noch in Arbeit</center></b><br> "; }
	}
	
	//Testen ob contentmainpic initialisiert ist, wenn ja wird eine Grafik in passender Groesse included.
	else if(isset($_GET['contentmainpic']))
	{
		//Div oeffnen
		echo "<div class=\"contentmainpic\">";
		
		//Bild einfuegen
		$contentmainpicpath = "content/contentmain/";
		$contentmainpic = $_GET['contentmainpic'];
		$dateityp = "keiner";
		
		//Testen welche Dateiendung vorhanden ist
		if (file_exists($contentmainpicpath.$contentmainpic.".jpg")) $dateityp = ".jpg";
		else if (file_exists($contentmainpicpath.$contentmainpic.".jpeg")) $dateityp = ".jpeg";
		else if (file_exists($contentmainpicpath.$contentmainpic.".gif")) $dateityp = ".gif";
		else if (file_exists($contentmainpicpath.$contentmainpic.".png")) $dateityp = ".png";
		else $dateityp = "keiner";
		
		if ($dateityp == "keiner") echo " <br><b><center>Error 404<br><br>Bild noch in Arbeit</center></b><br> "; //dann braucht nix mehr gemacht werden
		else
		{
			//Testen ob Hoch- oder Querformat
			$bildinfo = getimagesize($contentmainpicpath.$contentmainpic.$dateityp);
			
			//Bei Querformat breite > hoehe
			if ($bildinfo[0] > $bildinfo[1]) echo "<img src=\"$contentmainpicpath$contentmainpic$dateityp\" width=\"600\" height=\"450\" alt=\"ein Bild\">";
			//Hochformat bleibt ueber
			else echo "<img src=\"$contentmainpicpath$contentmainpic$dateityp\" width=\"375\" height=\"500\" alt=\"ein Bild\">";
		
		}			
		//Div schliessen
		echo "</div>";
	}
	
	//Contentsidemenu includen
	$contentsidemenupath = "content/contentsidemenu/";
	if(isset($_GET['contentsidemenu'])) $contentsidemenu = $_GET['contentsidemenu'];
	else $contentsidemenu = "home/home";
	if (file_exists($contentsidemenupath.$contentsidemenu.".html")) { include($contentsidemenupath.$contentsidemenu.".html"); }
	else if (file_exists($contentsidemenupath.$contentsidemenu.".php")) { include($contentsidemenupath.$contentsidemenu.".php"); }
	else { echo " <br><b><center>Error 404<br><br>Seite noch in Arbeit</center></b><br> "; }
?>
<!--Content div schliessen-->
</div>
	
<?PHP	
	//Footer includen	
	include("footer/footer.php");
?>

Alle Bilder heissen blabla1 also vorn immer gleich dann nummeriert.
So werden dann die Links generiert.

Code:
<div class="contentsidemenu">

	<?PHP
		//ACHTUNG Variablen eintragen
		$numberofpics = 6;
		$folder = "24.04.2005 cottbus";
		$picname = "cottbus";
		//ENDE
		
		$counter = 1;
		
		$linkpart1 = "<a href=\"home.php?submenu=mediaundnews&contentmainpic=mediaundnews/news/";
		$linkpart2 ="&contentsidemenu=mediaundnews/news/";
		$linkpart3 ="\"><img src=\"../content/contentmain/mediaundnews/news/";
		$linkpart4 = "thumb.jpg\" alt=\"ein Bild\"></a><br>";
		
		for( $counter = 1; $counter <= $numberofpics; $counter++)
		{
			echo "$linkpart1$folder/$picname$counter$linkpart2$folder/$folder$linkpart3$folder/$picname$counter$linkpart4";
		}
	?>
	
	<div class="smallbacklink">
		<?PHP
		//ACHTUNG Variablen eintragen
		$linktext = "zum Artikel zurück";
		//ENDE
		$linkpart1 = "<a href=\"home.php?submenu=mediaundnews&contentmain=mediaundnews/news/";
		$linkpart2 = "&contentsidemenu=mediaundnews/news/";
		$linkpart3 = "\">";
		$linkpart4 = "</a><br>";
				
		echo "$linkpart1$folder/$folder$linkpart2$folder/$folder$linkpart3$linktext$linkpart4";		
		?>
	</div>
</div>
 
uiui da hab ich ja was zu tun... aber aufjedenfall megadanke... auch wenn das extrem wenig von mir ausgearbeitet wurde... ;) Man kann ja nicht alles alleine schaffen.
 
Gegen Popups ist prinzipiell nichts einzuwenden. Heutige Popupblocker blocken in der Regel nur ungefragte Popups. Wichtiger finde ich, dass die Bilder auch angezeigt werden, wenn Javascript deaktiviert ist.
Das ist aber auch kein großes Problem:
Code:
<a onClick="return openimage('image_page.html',498,346);"
   href="image_page.html">
Wobei
Code:
function openimage(link, width, height) {
    options = 'resizable=yes,width='+width+',height='+height+',status=yes,scrollbars=yes';
    w=open(link,'fenstername',options);
    w.focus();
    return false;
}
Ohne JS geht das Bild so im Hauptfenster auf.

Daniel
 
Zurück