PoP - up

Begonnen von privacynet, 17 Juni 2002, 20:24:47

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

privacynet

Bitte, wie kann ich ein POPUP einbinden, das nur beim Aufruf der index-php geöffnet wird?


Eismaus

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

Joschau

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!!!

Andi

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 ;)
schön´s Grüssle, Andi

privacynet

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 ?

JensWagenknecht

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

privacynet

Danke Jens,

habe Deine HTML Variante eingebunden, aber leider geht kein POPUP auf

JensWagenknecht

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

privacynet

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?

Andi

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]
schön´s Grüssle, Andi

privacynet

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.

Joschau

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.

privacynet

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.

privacynet

Weiss gar niemand eine Antwort auf die letzte Frage?

DarkBoy

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 :)

privacynet


DarkBoy

Hi
 kein nennenswertes  resultat !   entweder   kein Popup oder  es kommen dutzende :)
 aber ich gebe nicht auf :D

Andi

@all
denke das müsste hier auch so ähnlich funktionieren :P

 //modules.php?op=modload&name=eBoard&file=viewthread&tid=2133
schön´s Grüssle, Andi