JS Action automatisch ausführen

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
phillip
Mitglied
Beiträge: 933
Registriert: 20.03.2005 12:00

JS Action automatisch ausführen

Beitrag von phillip »

Hallo
Ich würde gerne das PopUp des phpbb ein wenig modifizieren.

Dabei hab ich folgendes Problem:
wenn eine neue Private Nachricht vorhanden ist, soll eine action audgeführt werden.

Code: Alles auswählen

 <!-- BEGIN switch_enable_pm_popup -->

    <script type="text/javascript">

    <!--

	  if ( {PRIVATE_MESSAGE_NEW_FLAG} )

	  {

		fireMyPopup();

	  }

    //-->

    </script>

    <!-- END switch_enable_pm_popup -->
Leider klappt dies nicht ganz.

Toll wäre es, wenn wir onLoad weglassen könnten ;-)
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Was soll dir den die if-Bedingung bringen? Wenn ein Popup erscheinen soll, gibtst du den Code aus, ansonsten nicht :-?

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
phillip
Mitglied
Beiträge: 933
Registriert: 20.03.2005 12:00

Beitrag von phillip »

ja stimmt, wäre vielleicht besser.
Ich versuchs einmal ;-)

aber wie müsste das Ganze dann aussehen? ich doch 0 ahnung von JS xD
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Vielleicht stellst du mal genauer da was du machen willst?

Das aussehen des Popups verändern?
Etwas anderes am Popup verändern?

Ich stelle das Popup beispielsweise in einem Iframe dar der seine Position anhand des aufgerufenen Links auf der Seite darstellt weil mich Popups nerven.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
phillip
Mitglied
Beiträge: 933
Registriert: 20.03.2005 12:00

Beitrag von phillip »

es ist so, ich will kein popup in dem sinn, sondern dieses hier: http://dhtmlpopups.webarticles.org/movable.php
UGC

Beitrag von UGC »

ja toll, bei mir geht das popup net mehr zu :P
WEnn ich einmal au fden titel geklickt hab, is es fest an der maus...

Nimm doch einfach ein normales Popup, wie es üblich ist ;)
phillip
Mitglied
Beiträge: 933
Registriert: 20.03.2005 12:00

Beitrag von phillip »

ja ich habs auch geändert. ich habs nicht 1 zu 1 übernommen xD
ja ist ja egal, zurück zu meinem Problem ;-) Wie bring ich das "pop up" automatisch auf, wenn ein wert grösser als 1 ist?
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Ah ok, das ist doch mal eine Aussage.
Das musst du dafür aber einigermaßen grundlegend Umbauen, evtl. hilft dir aber dieses Code Segment, das ich verwende:

In der overall_header.tpl

Code: Alles auswählen

<!-- BEGIN switch_enable_pm_popup -->
<script language="Javascript" type="text/javascript">
<!--
function description_delete(id)
{
	try
	{
	if(id != undefined && document.getElementById(id))
		{
			document.getElementById(id).innerHTML = ' ';
		}
	info_var=0;
	}
	catch(b)
	{
		//alert("ERROR: (description_delete):"+b);
	}
}
function findeOL(obj,richtung)
{
	var objektLayerPos = 0;
	var dir = richtung ? 'offsetLeft' : 'offsetTop';
	if(obj.offsetParent)
	{
		while(obj.offsetParent)
		{
			//Rekursion: Vorarbeiten bis zum obersten Objekt
			//Abstand vom Objekt zum naechst hoeheren hinzuzaehlen
			objektLayerPos += obj[dir];
			obj=obj.offsetParent;
		}
		//Position des dokuments noch hinzu
		objektLayerPos += document.body[dir];
	}
	else if(obj.x)
		{
			//Falls direkter Zugriff auf Koordinaten moeglich ist
			objektLayerPos = dir ? obj.x : obj.y;
		}
	return objektLayerPos;
}
//-->
</script>
<!-- END switch_enable_pm_popup -->
in der Overall Footer:

Code: Alles auswählen

<!-- BEGIN switch_enable_pm_popup -->
<script language="Javascript" type="text/javascript">
<!--
	if ( {PRIVATE_MESSAGE_NEW_FLAG} )
	{
		try
		{
			anchor_pos = window.location.hash;
			if(anchor_pos)
			{
				anchor_pos = anchor_pos.substr(1);
				x = findeOL(document.getElementsByName(anchor_pos)[0],0);
				
				document.write('<div id="hiddenDiv" style="position:absolute;z-index:7"><div style="top:' + x + 'px;left:70px;position:absolute;z-index:5;height:auto;"><iframe id="hiddenFrame" src="{U_PRIVATEMSGS_POPUP}" height="250"></iframe></div></div>');
			}
			else
			{
				document.write('<div id="hiddenDiv"><div style="top:50px;left:70px;position:absolute;height:auto;"><iframe id="hiddenFrame" src="{U_PRIVATEMSGS_POPUP}" height="250"></iframe></div></div>');
			}
		}
		catch(b)
		{
			document.write('<div id="hiddenDiv"><div style="top:50px;left:70px;position:absolute;height:auto;"><iframe id="hiddenFrame" src="{U_PRIVATEMSGS_POPUP}" height="250"></iframe></div></div>');
		}
	}
	

//-->
</script>
<!-- END switch_enable_pm_popup -->
Im Popup dann noch das hier:

Code: Alles auswählen

<script language="javascript" type="text/javascript">
<!--
function jump_to_inbox()
{
	opener.document.location.href = "{U_PRIVATEMSGS}";
	window.close();
}
function description_delete(id)
{
	try
	{
	
	if(id != undefined && top.document.getElementById(id))
		{
			top.document.getElementById(id).innerHTML = ' ';
			
		}
	
	info_var=0;
	}
	catch(b)
	{
		alert("ERROR: (description_delete):"+b);
	}
}
//-->
</script>
Dann musst du noch ein paar Links anpassen und du hast das ganze mit einem IFrame, das Vorgehen bei deiner Geschichte wird etwa ähnlich gehen.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
phillip
Mitglied
Beiträge: 933
Registriert: 20.03.2005 12:00

Beitrag von phillip »

aber da hab ich keinen delay drin :-(
der gefällt mir so! delay beim öffnen, und delay beim schliessen... darum will ichs ja :D
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Das sollte nur ein Anreiz für eine Möglichkeit sein wie du es machen kannst. Machen musst du es selbst und mit der Code Grundlage die ich dir gepostet habe dürfte eine Anpassung nicht sonderlich schwer fallen denke ich.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Antworten

Zurück zu „Coding & Technik“