Bitte, wie kann ich ein POPUP einbinden, das nur beim Aufruf der index-php geöffnet wird?
Wie währe es damit?
Dieser Text kommt normalerweise in den html-header.
<!--
Fenster = window.open("datei.htm","Zweitfenster","width=200,height=200");
function Bewege() {
Fenster.moveTo(screen.width-200,screen.height-200);
Fenster.focus();
}
//-->
Dieser Aufruf kommt in die Seite, die das Popup aufrufen soll..
<a href="javascript:Bewege()">Fenster bewegen</a>
Gruß
Mausi
Ich hab´s nicht getestet, das mal vorneweg:
Als erstes definierst Du in der index.php vor dem
include ("header.php");
eine Varibale bspw.:
$meinjava = 1;
Dann nimmst Du Dir die header.php vor und ergänzt im HEAD - Bereich den entsprechenden JavaCode, eingeschlossen in eine if-Abfrage:
if ($meinjava == 1) {
echo "deinjavacode";
}
dann wird bei den meisten Themes der <body>-tag in der Funktion themeheader() in der theme.php definiert.
Dort machst Du auch wieder die $meinjava == 1 Abfrage und veränderst den body-Tag je nach Ergebnis...
Klingt komplizierter als es ist ;)
Und: ES IST NICHT GETESTET!!!
yep, so müsste es gehen :D
kleiner Verbesserungsvorschlag:
In der index.php ist bereits die Variable $home definiert. Die kann man genau für diesen Zweck verwenden.
Den Javascript-Code würde ich in die /includes/my_header.php packen und hier die Abfrage
if($home){
echo "deinjavacode";
}
ausführen.
Auf diese Weise braucht man an den Nuke-Systemdateien nichts verändern ;)
Soweit - sogut
Vielen Dank für Eure Hilfe
Habe folgenden Code in My_header.php eingefügt:
Zitatif($home){
echo "<script language="JavaScript">
<!--
function neuesfenster()
{
top.name = "main_window";
var popupURL = "fenster.html";
var popup = window.open(popupURL,"neuesfenster",'
toolbar=0,location=0,directories=0,
status=0,menubar=0,
scrollbars=0,resizable=0,width=200,height=400');
if( navigator.appName.substring(0,8) == "Netscape" )
{
popup.location = popupURL;
popup.opener = self;
}
}
// -->
</script>";
}
und bekomme jetzt folgende Fehlermeldung:
ZitatParse error: parse error, expecting `','' or `';'' in /home/sites/site13/web/portal/includes/my_header.php on line 23
Line 23 beginnt mit echo "<script language="JavaScript">
Was ist falsch bitte ?
Ja, ist das in PHP geschrieben?
entweder Du beendest vorher das PHP mit ?> oder Du machst aus:
echo "<script language="JavaScript">
so etwas:
echo "<script language=\"JavaScript\">";
und drunter gehts weiter.
oder machst so:
if($home){
?> # nun beginnt HTML Teil
echo "<script language="JavaScript">
<!--
function neuesfenster()
{
top.name = "main_window";
var popupURL = "fenster.html";
var popup = window.open(popupURL,"neuesfenster",'
toolbar=0,location=0,directories=0,
status=0,menubar=0,
scrollbars=0,resizable=0,width=200,height=400');
if( navigator.appName.substring(0,8) == "Netscape" )
{
popup.location = popupURL;
popup.opener = self;
}
}
// -->
</script>
<?php
}
Sind irgendwie reichlich geschweifte Klammern drin. Tut das Not?
Oder ist dies ein Auszug einer Datei?
Jens
Danke Jens,
habe Deine HTML Variante eingebunden, aber leider geht kein POPUP auf
Setzte mal die ganze datei ein.
Man konnte ja nicht sehen wo wie was ist.
Die Fehlmeldung kam, da Du
die \ vor " vergessen hattest und den abschließenden "; bei dem echo Befehl.
Außerdem muß ja irgendwo der Javabefehl gestartet werden, so wird er ja nur geschrieben.
Jnes
Danke Jens,
Zitat<?php
if($home){
?> # nun beginnt HTML Teil
echo "<script language="JavaScript">
<!--
function neuesfenster()
{
top.name = "main_window";
var popupURL = "fenster.html";
var popup = window.open(popupURL,"neuesfenster",'
toolbar=0,location=0,directories=0,
status=0,menubar=0,
scrollbars=0,resizable=0,width=200,height=400');
if( navigator.appName.substring(0,8) == "Netscape" )
{
popup.location = popupURL;
popup.opener = self;
}
}
// -->
</script>
<?php
}
?>
Wo und wie starte ich das script im Nuke vkp55?
kompliziert.....
Versuche es mal damit, bei mir geht es.
Die $home-Variable muss global gesetzt werden. Die $home-Abfrage muss innerhalb der javascript-funktion stehen, sonst kommen auf den anderen Seiten javascript-Fehler.
Im Themefile darfst Du den Aufruf onLoad=\"neuesfenster();\" im <body> Tag nicht vergessen
global $home;
$popupURL = "fenster.html";
echo "<script type=\"text/javascript\">\n";
echo "<!--\n";
echo "function neuesfenster(){\n";
if($home){
echo "\t window.open (\"$popupURL\",\"neuesfenster\",\"toolbar=no,location=no,directories=no,";
echo "status=no,scrollbars=no,resizable=no,copyhistory=no,width=200,height=400\");\n";
}
echo "}\n";
echo "//-->\n";
echo "</SCRIPT>\n\n";
[Bearbeitet am: 19.6.2002 von SiteAdmin Andi]
Hi Andi,
ZitatIm Themefile darfst Du den Aufruf onLoad=\"neuesfenster();\" im <body> Tag nicht vergessen
In meiner theme.php finde ich keinen body - tag. Oder ich bin einfach nur zu d.....
Danke.
Die Frage beantworte ich vorsichtshalber mal nicht... ;)
Normalerweise ist der BODY-Tag in der Funktion themeheader() enthalten, die in der theme.php drin steht.
Es kann allerdings sein, dass Du ein Theme benutzt, dass mit Templates arbeitet. Schau mal, ob Du in Deinem Themeordner eine header.html oder head.html oder ähnliches hast. Wenn ja, such dort mal nach dem BODY-Tag.
Vielen Dank an alle, nun funzt es. In einem Punkt war ich wohl doch zu d.....
@Joschau Danke für die nette Antwort ;)
Nächste Frage:
Damit dieses Popup nicht bei jedem neuen Aufruf der Index.php erscheint, kann man es irgendwie mit dem cockie koppeln, damit man es ausschalten kann?
Das Popup soll Infos für Neulinge enthalten.
Weiss gar niemand eine Antwort auf die letzte Frage?
ist in arbeit aber leider noch kein resultat :( gedulde dich bitte ein bisschen aber cookie willl net wie ich das will :( lso andere Lösung :)
Danke DarkBoy
Hi
kein nennenswertes resultat ! entweder kein Popup oder es kommen dutzende :)
aber ich gebe nicht auf :D
@all
denke das müsste hier auch so ähnlich funktionieren :P
//modules.php?op=modload&name=eBoard&file=viewthread&tid=2133