PopUp Fenster statt Iframe

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
TLoD
Mitglied
Beiträge: 161
Registriert: 04.08.2007 14:57
Wohnort: Nürnberg
Kontaktdaten:

PopUp Fenster statt Iframe

Beitrag von TLoD »

Hallo Gemeinde,

ich steh mal wieder vor einem kleinen Problem.
Ich will eine Seite via PopUp öffnen lassen, bisher mache ich das in einem Iframe.
Hintergrund hierfür ist, das ein paar User nur eine kleine Auflösung nutzen können, und das Iframe aber dann mit Scrollbalken versehen ist. Um das ganze umgehen zu können, wollte ich eben nun ein PopUp-Fenster anstelle des Iframes einbinden. Statt dem Iframe include ich dann eine andere Seite, damit ich keinen leeren linken Bereich erhalte.

Code: Alles auswählen

if (isset($_GET['section']) AND isset($_POST['galaxy']) AND isset($_POST['system'])
AND isset($_POST['planet']) AND isset($_POST['id']) AND $_GET['section'] == 'scan') {
scanheader();
checkSessionOuttimed();
echo "        <div id=\"root\">\n";
echo "            <div id=\"info\">\n";
include "info.php";
echo "            </div>\n";
echo "            <div id=\"links\">\n";
include "links.php";
echo "            </div>\n";
echo "            <div id=\"mitte\">\n";
echo "                          <iframe src=\"logs.php?g=".$_POST['galaxy']."&s=".$_POST['system']."&p=".$_POST['planet']."&id=".$_POST['id']."&sess=".$_SESSION['ID']."\" name=\"result\" width=\"100%\" height=\"800px\">";
                                        // statt diesem Frame hätte ich gerne eine PopUp
echo "                          </iframe>";
echo "                          <noframes>\n";
echo "                                  <body>\n";
echo "                                          <p>Keine Frames, keine Spyliste. Sorry dude</p>\n";
echo "                                  </body>\n";
echo "                          </noframes>\n";
echo "            </div>\n";
echo "            <br class=\"clearfloat\" />\n";
echo "       </div>\n";
echo "    </body>\n";
echo "</html>\n";
Evlt. kann mir ja einer von Euch einen kleinen Tipp geben wie ich das ganze auf die Reihe bekomme.

Schon mal vielen Dank!
LG Marc

Wir leben alle unter dem gleichen Himmel, aber wir haben nicht alle den gleichen Horizont.
Benutzeravatar
TLoD
Mitglied
Beiträge: 161
Registriert: 04.08.2007 14:57
Wohnort: Nürnberg
Kontaktdaten:

Re: PopUp Fenster statt Iframe

Beitrag von TLoD »

Will mir denn keiner helfen?
Ich hau mir schon mehrer Tage um die Ohren und bekomm das einfach nicht hin...

Folgendes JS habe ich schon mal eingefügt bzw. so sieht es nun aus.

Code: Alles auswählen

<?php
                                        echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"".isIE().">";
                			echo "<html>\n";
                			echo "    <head>\n";
                			echo "        <title>".getTitle()."</title>\n";
                			echo "        <link rel=\"stylesheet\" type=\"text/css\" href=\"".CSS()."\" />\n";
                                        // begin PopUp JS
                                        ?>
                                        <script type="text/javascript">
					function windx()
					{
					  var nwl = (screen.width-600)/2;
					  var nwh = (screen.height-800)/2;window.open('logs.php?g=".$_POST['galaxy']."&s=".$_POST['system']."&p=".$_POST['planet']."&id=".$_POST['id']."&sess=".$_SESSION['ID']."', 'result', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,width=600,height=800');
					}
					</script>
                                        <?php
                                        // end PopUp JS
                                        echo "    </head>\n";
                			echo "    <body onLoad=\"uhrAktualisieren(),countdown(),windx()\">\n";
                                        checkSessionOuttimed();
                                        if ($_GET['section'] == 'scan') {
                                                $_GET['section'] = 'comments';
                                        }
                                        echo "        <div id=\"root\">\n"; // ganz oberer Div-Holder
                                        echo "            <div id=\"info\">\n"; // banner
                                        include "info.php";
                                        echo "            </div>\n";
                                        echo "            <div id=\"links\">\n"; // linkes Menu
                                        include "links.php";
                                        echo "            </div>\n";
                                        echo "            <div id=\"mitte\">\n"; // In der Mitte der Inhalt
                                        include "inhalt.php";
                                        echo "            </div>\n";
                                        echo "            <br class=\"clearfloat\" />\n"; // css-float beenden
                                        echo "       </div>\n";
                                        echo "    </body>\n";
                                        echo "</html>\n";
?>
Wäre Euch sehr dankbar, wenn Ihr mir da helfen könntet!
LG Marc

Wir leben alle unter dem gleichen Himmel, aber wir haben nicht alle den gleichen Horizont.
piero
Mitglied
Beiträge: 476
Registriert: 10.11.2008 17:15
Wohnort: Schweiz

Re: PopUp Fenster statt Iframe

Beitrag von piero »

PopUps die beim laden der Seite geöffnet werden sollen, werden normalerweise geblockt ;)

Mach doch stattdessen einen einfachen Link zum draufklicken, der mit etwas Javascript versehen ist...

Code: Alles auswählen

echo '<a href="logs.php?g='.$_POST['galaxy'].'&s='.$_POST['system'].'&p='.$_POST['planet'].'&id='.$_POST['id'].'&sess='.$_SESSION['ID'].'" onclick="window.open(this.href, \'result\', \'width=900,height=800\'); return false;"></a>'; 
Benutzeravatar
TLoD
Mitglied
Beiträge: 161
Registriert: 04.08.2007 14:57
Wohnort: Nürnberg
Kontaktdaten:

Re: PopUp Fenster statt Iframe

Beitrag von TLoD »

Das ganze wird ja schon so mehr oder weniger durch drücken eines Buttons aufgerufen aber eben nicht direkt.
Ich brauche also unbedingt die onLoad Variante - nur geht diese immer noch nicht.

Es ist übrigens auch so das es sich hierbei nicht um ein so nerviges PopUp handelt das jeden User sofort wieder vertreibt.
Das ganze ist gewollt und kann vom User bei Bedarf gefordert werden. Nur mal rein informativ damit die Diskussion über PopUps nicht wieder ausbricht. ;)
LG Marc

Wir leben alle unter dem gleichen Himmel, aber wir haben nicht alle den gleichen Horizont.
piero
Mitglied
Beiträge: 476
Registriert: 10.11.2008 17:15
Wohnort: Schweiz

Re: PopUp Fenster statt Iframe

Beitrag von piero »

Dass es ein sinnvolles PopUp ist, ist mir klar... Nur dem Browser halt nicht... der sperrt PopUps bei onload trotzdem weiter, wenn Sie nicht explizit erlaubt werden ;)

Warum kannst du nicht alles über den einen Button realisieren?

Ausserdem ist das nicht-funktionieren deines PopUps auch kein Wunder... Du versuchst da ausserhalb des geparsten Bereiches auf PHP-Variablen zuzugreifen ;)
Benutzeravatar
TLoD
Mitglied
Beiträge: 161
Registriert: 04.08.2007 14:57
Wohnort: Nürnberg
Kontaktdaten:

Re: PopUp Fenster statt Iframe

Beitrag von TLoD »

piero hat geschrieben:Ausserdem ist das nicht-funktionieren deines PopUps auch kein Wunder... Du versuchst da ausserhalb des geparsten Bereiches auf PHP-Variablen zuzugreifen ;)
Mhhh aber müsste dann nicht wenigstens eine leere Seite im PopUp aufgehen ?
Und warum klappts mim Iframe aber nicht mim PopUp - bin leider nicht soo der PHP Progger und muss mich da Schritt für Schritt rantasten...
LG Marc

Wir leben alle unter dem gleichen Himmel, aber wir haben nicht alle den gleichen Horizont.
piero
Mitglied
Beiträge: 476
Registriert: 10.11.2008 17:15
Wohnort: Schweiz

Re: PopUp Fenster statt Iframe

Beitrag von piero »

Es kommt kein PopUp, weil im JavascriptCode Fehler drin sind... (verursacht durch nicht verarbeiteten PHP-Code)
Welche Fehler das sind kannst du in der Felerkonsole von Firefox sehen (Extras -> Fehlerkonsole)... (zum aktuellen Zeitpunkt aber irrelevant


Was den PHP-Code angeht... Versuchs mal mit dem:

Code: Alles auswählen

<?php
                                        echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"".isIE().">";
                         echo "<html>\n";
                         echo "    <head>\n";
                         echo "        <title>".getTitle()."</title>\n";
                         echo "        <link rel=\"stylesheet\" type=\"text/css\" href=\"".CSS()."\" />\n";
                                        // begin PopUp JS
                         echo "               <script type="text/javascript">";
               echo "function windx()";
               echo "{";
               echo "  var nwl = (screen.width-600)/2;";
               echo "  var nwh = (screen.height-800)/2;window.open('logs.php?g=".$_POST['galaxy']."&s=".$_POST['system']."&p=".$_POST['planet']."&id=".$_POST['id']."&sess=".$_SESSION['ID']."', 'result', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,width=600,height=800');";
               echo "}";
               echo "</script>";
                                        // end PopUp JS
                                        echo "    </head>n";
                         echo "    <body onLoad="uhrAktualisieren(),countdown(),windx()">\n";
                                        checkSessionOuttimed();
                                        if ($_GET['section'] == 'scan') {
                                                $_GET['section'] = 'comments';
                                        }
                                        echo "        <div id=\"root\">\n"; // ganz oberer Div-Holder
                                        echo "            <div id=\"info\">\n"; // banner
                                        include "info.php";
                                        echo "            </div>\n";
                                        echo "            <div id=\"links\">\n"; // linkes Menu
                                        include "links.php";
                                        echo "            </div>\n";
                                        echo "            <div id=\"mitte\">\n"; // In der Mitte der Inhalt
                                        include "inhalt.php";
                                        echo "            </div>\n";
                                        echo "            <br class=\"clearfloat\" />\n"; // css-float beenden
                                        echo "       </div>\n";
                                        echo "    </body>\n";
                                        echo "</html>\n";
?>
Vergleichs mal mit dem ursprünglichen Script...

BTW: Welchen Editor nutzt du zum PHP programmieren? Hoffentlich nicht den Notepad von Windows oder? :lol:
Benutzeravatar
TLoD
Mitglied
Beiträge: 161
Registriert: 04.08.2007 14:57
Wohnort: Nürnberg
Kontaktdaten:

Re: PopUp Fenster statt Iframe

Beitrag von TLoD »

Besten Dank es funzt nun 1a!
Ich nutze den DzSoft PHP Editor - hab aber keine Ahnung ob der nun zu den guten oder eher zu den schlechteren zählt.
War als ich in PHP Coden eingestiegen bin einer der ersten die Google ausgespuckt hat ;)
piero
Mitglied
Beiträge: 476
Registriert: 10.11.2008 17:15
Wohnort: Schweiz

Re: PopUp Fenster statt Iframe

Beitrag von piero »

Ja bitte...

Hmm den kene ich nicht... Hab auf Windows immer Notepad++ verwendet und bin auch sehr zufrieden damit :)
Antworten

Zurück zu „Coding & Technik“