Seite 1 von 1
PopUp Fenster statt Iframe
Verfasst: 23.03.2009 18:49
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!
Re: PopUp Fenster statt Iframe
Verfasst: 27.03.2009 20:19
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!
Re: PopUp Fenster statt Iframe
Verfasst: 28.03.2009 17:46
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>';
Re: PopUp Fenster statt Iframe
Verfasst: 28.03.2009 18:15
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.

Re: PopUp Fenster statt Iframe
Verfasst: 28.03.2009 19:04
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

Re: PopUp Fenster statt Iframe
Verfasst: 28.03.2009 20:11
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...
Re: PopUp Fenster statt Iframe
Verfasst: 30.03.2009 12:06
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?

Re: PopUp Fenster statt Iframe
Verfasst: 30.03.2009 21:44
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

Re: PopUp Fenster statt Iframe
Verfasst: 31.03.2009 00:22
von piero
Ja bitte...
Hmm den kene ich nicht... Hab auf Windows immer
Notepad++ verwendet und bin auch sehr zufrieden damit
