Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

fenster durch klick schließen...kurz vorm amoklauf...





Frage

moin.. nachdem ich hier ein wenig gestöbert habe, und mir das nicht so richtig weitergeholfen hat, stelle ich hier mal den betreffenden code ein, in der hoffnung das mir geholfen werden kann... also auf betreffender webseite werden thumbnails angezeigt, die durch klick darauf vergrößert dargestellt werden....ich möchte nun durch einen klick aufs vergrößerte bild, selbiges wieder schließen...dachte mir mit onclick="javascript:self.close()" im body der function blank funz das..aber nein...irgendwie hab ich einen hänger....ich hoffe mir kann geholfen werden..... <title>test</title> <script language="JavaScript"> function open_win(filename,winname,width,height,left,top) { open_window(filename, winname, "width=" + width + ",height=" + height + ",left=" + left + ",top=" + top + ",resize=no,scrollbars=yes,menubar=no,directories=no"); } function open_window(filename,winname,params) { handle=window.open("", winname, params); handle.location.href=filename; window.handle.document.close(); } </script> <script language="JavaScript"> function blank(desktopURL,w,h) { var foo= window.open("","_blank","toolbar=no,location=no,status=no,menubar=no,scrollbars=no,width="+w+",height="+h); foo.document.writeln("<html><head><title>test</title></head><body><div style=\"position: absolute; top: 0; left: 0;\"><layer><img src="+desktopURL+"\></div></layer></body></html>"); } </script> <script language="JavaScript"> <!-- function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); } MM_reloadPage(true); // --> </script> <SCRIPT LANGUAGE="JavaScript"> <!-- window.status="test" // --> </SCRIPT> <style type="text/css"><!-- <body bgcolor="#000000" text="#999999" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF" oncontextmenu= "return false"> <div id="text" style="position:absolute; left:38px; top:15px; width:639px; height:133px; z-index:1"> <table width="100%" height="0" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="60%"> <div align="left"> <p><b><font face="Courier New, Courier, mono" size="3">test</font></b></p> <p><b><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><br> </font></b></p> </div> </td> </tr> <tr> <td width="60%" height="60"> <p>test<font size="2" face="Verdana, Arial, Helvetica, sans-serif"> </font></p> </td> </tr> </table> </div> <div id="galerie" style="position:absolute; left:38px; top:144px; width:611px; height:202px; z-index:2"> <table width="60%" cellspacing="2" cellpadding="2" height="191"> <tr> <td width="100"><div align="center"><a href="javascript:blank(´../pic/test_01.jpg´,470,330)"><img src="../pic/test_01.jpg" alt="test" border="0" height="90" width="115" ></div> <div align="center"></div></td> <td width="100"><div align="center"><a href="javascript:blank(´../pic/test_02.jpg´,470,330)"><img src="../pic/test_02.jpg" alt="test" border="0" height="90" width="115" ></div> <div align="center"></div></td> </tr> </table>

Antwort 1 von rfb

Zitat:
onclick="javascript:self.close()"
im Zusammenhang mit event-Handlern ist javascript überflüssig - das könnte der Fehler sein.

Wozu brauchst du eigentlich 3 verschiedene JavaScript-Funktionen, die alle (fast) das gleiche machen, nämlich
window.open()
aufrufen?

Und den MM_reloadPage-Kram kannst du löschen - oder schreibst du noch Code für Netscape 4?

Antwort 2 von zargesehen

@rfb...

erstmal dank...
ja mit dem reload,da wirst du sicherlich recht haben, ist noch ein überbleibsel...bin aber trotzdem immer noch nicht weiter, wie ich das fenster durch klick wieder schließe....javascript iss nich so meins...wenn nicht mit eventhandlern, wie dann ??haste vielleicht einen tipp....?

Antwort 3 von rfb

Zitat:
wenn nicht mit eventhandlern, wie dann
ich hab nicht geschrieben, dass es mit eventhandlern nicht geht, sondern dass deine Syntax falsch ist und du javascript: weglsssen sollst

Ansonsten glaub ich, dass der Code unnötig aufgebläht und damit störanfällig ist.

Die Funktion sollte dann ungefähr so ausehen:

function blank(desktopURL,w,h) {
var fenster= window.open("","neu","width="+w+",height="+h);
fenster.document.writeln("<html><head><title>test</title></head><body onclick=´self.close()´><img src="+desktopURL+"\></body></html>");
}


Allerdings müsstest du auch das HTML stark überarbeiten, zB haben die Links
<a ...>
kein Endtag
</a>
(wodurch das Anklicken quasi unmöglich wird) und auch im Rest tummeln sich die Fehler nur so.

Antwort 4 von zargesehen

also trotz fehlender tags funzt das eigentlich ohne probleme...habe mal deinen code für die funktion genommen...funktioniert quasi wie meine, .......jedoch funzt das wegklicken auch nich...wie gesagt ein verkleinertes bild wird als thumbnail angezeigt und bei klick in einem neuen fenster in definierter größe geöffnet...wollte nun bei klick ins bild, das fenster schließen lassen, und das ohne link....einfach irgendwo klicken und wech......und nu ?? kann es am explorer´liegen ???

Antwort 5 von rfb

Zitat:
kann es am explorer´liegen ?
habe den Code in 3 Browsern, darunter IE6 getestet - kein Problem (allerdings hatte ich einen eigenen validen HTML-Teil dazugefügt ;-)

Ich vergaß zu erwähnen: wenn du hier Code aus dem Supportnet rauskopierst musst immer die ´ ersetzen durch das einf. Anführungszeichen (neben dem Ä auf der Tastatur), das SN ersetzt die immer durch irgendein Apostroph, damit funktionierts aber natürlich nicht.

Antwort 6 von zargesehen

der herr sei gepriesen........es geht!!! ich bin doch ein rind.. hatte ` anstatt ´...jetzt hauts hin...DANKE !!
trotzdem noch eine kleine frage am rande....kann ich eigentlich noch einen alternativtext einschieben wie z.B
alt="Schließen" wo müsste der den stehen ?? sicherlich auch im body oder ??

Antwort 7 von rfb

Zitat:
sicherlich auch im body
ganz sicher!

Antwort 8 von rfb

genauer gesagt wäre es als Attribut zum <img ... alt="..."> möglich, als Text dahinter einfach im <body> sowie im <title> und als title-Attribut.

Ich empfehle alles!

function blank(desktopURL,w,h) {
var fenster= window.open("","neu","width="+w+",height="+h);
fenster.document.writeln("<html><head><title>Klicken zum Schlie&szlig;en</title></head><body onclick=´self.close()´ title=´Klicken zum Schlie&szlig;en´><img src="+desktopURL+" alt=´Gro&szliges Bild, klicken zum Schlie&szlig;en´ \>einfach klicken zum Schlie&szlig;en</body></html>");
}


Antwort 9 von zargesehen

geht wie sau..nur dank...da du so gut informiert bist...das fenster das sich öffnet zeigt den jeweiligen titel an, und als anhängsel microsoft internet explorer...kriegt man den scheiß weg ??glaube das war meine letzte frage......nochmals DANKE !!!

Antwort 10 von rfb

Zitat:
kriegt man den * weg
nein, das lassen sich die Browser-Programmierer nicht nehmen

Antwort 11 von zargesehen

scheiß drauf...ich dank dir wie verrückt !!:-)

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: