(jscript) nach funktionsaufruf öffnet sich jeder link in neuem fenster



  • tach zusammen,

    folgendes jscript bringt mich zur verzweiflung...

    jedesmal, nachdem ein solches popup aufgerufen wurde, öffnet sich jeder andere link
    in einem neuen fenster (als ob bei jedem link target="_blank" stehen würde).

    so sieht das ganze im php-script aus:

    die werte kommen aus einem array ($config) das in der datei classes.php steckt

    <?
    	require_once('classes.php');
    
    	echo "<SCRIPT LANGUAGE=\"JavaScript\" type=\"text/javascript\">\n";
    	echo "	<!--\n";
    	echo "		function launchsmall(url) {\n";
    	echo "			window.name = 'opener';\n";
     	echo "			remote = open(url, \"\", \"resizable,status,scrollbars,width=" . $config['popup_small_width'] . ",
    height=" . $config['popup_small_height'] . ",left=" . $config['popup_small_left'] . ",top=" . $config['popup_small_top'] . "\");\n";
    
    	echo "		}\n";
    	echo "		function launchbig(url) {\n";
    	echo "			self.name = \"opener\";\n";
     	echo "			remote = open(url, \"\", \"resizable,scrollbars,width=" . $config['popup_big_width'] . ",
    height=" . $config['popup_big_height'] . ",left=" . $config['popup_big_left'] . ",top=" . $config['popup_big_top'] . "\");\n";
    
             echo "		}\n";
    	echo "	// -->\n";
    	echo "</SCRIPT>\n";
    ?>
    

    im browser kommt folgendes an (wie erwartet):

    <script language="JavaScript" type="text/javascript">
    	<!--
    		function launchsmall(url) {
    			window.name = 'opener';
    			remote = open(url, "", "resizable,status,scrollbars,width=500,height=270,left=200,top=100");
    		}
    		function launchbig(url) {
    			self.name = "opener";
    			remote = open(url, "", "resizable,scrollbars,width=550,height=400,left=220,top=120");
    		}
    	// -->
    </script>
    

    für den fall das es interessant sein sollte, hier nochmal der teil des $config-arrays aus dem die
    größen für die popups kommen:

    <?php
    	// ...
    
    	$config['popup_small_height']		=	'270';
    	$config['popup_small_width']		=	'500';
    	$config['popup_small_left']			=	'200';
    	$config['popup_small_top']			=	'100';
    
    	$config['popup_big_height']			=	'400';
    	$config['popup_big_width']			=	'550';
    	$config['popup_big_left']			=	'220';
    	$config['popup_big_top']			=	'120';
    
    	// ...
    ?>
    

    die links bei denen ich die funktionen anwende sehen vom aufbau her folgendermaßen aus:

    <a href="javascript:launchbig('../pfad/pfad2/datei.php?value=new&stamp=1060087156&day=2')">link</a>
    

    // nebenfrage: kann ich bei einem link statt & auch & schreiben oder gibt es da irgendwelche probleme? funktioniert nämlich auch..

    hat jemand einen tipp woran es liegen könnte das nach einmaligem ausführen einer dieser funktionen (launchsmall/launchbig)
    jeder andere link auch in einem neuen fenster geöffnet wird? nach einem reload der _gesamten_ seite gehts übrigens wieder normal...

    danke für hilfe
    mfg, chris



  • 1.) Wozu hast du dieses window.name = 'opener'; bzw. self.name = "opener"; eingebaut?

    2.) man sollte eigentlich immer & schreiben (auch wenn viele dies nicht machen)

    3.)

    <a href="javascript:launchbig('../pfad/pfad2/datei.php?value=new&stamp=1060087156&day=2')">link</a>
    

    So sollte man das möglichst auch nicht schreiben, da Leute ohne bzw. mit deaktivierten JavaScript nichts mehr sehen!
    Besser so:

    <a href="../pfad/pfad2/datei.php?value=new&stamp=1060087156&day=2" onclick="launchbig('../pfad/pfad2/datei.php?value=new&stamp=1060087156&day=2'); return false;">link</a>
    


  • hi flenders!

    danke für die hinweise...
    durch den tipp 1.) hab ich es hinbekommen 😉

    hatte das noch aus einem älteren versuch drin. durch löschen der einträge ist auch das problem behoben. warum auch immer das daran gelegen haben muss..

    danke!

    mfg, chris


Anmelden zum Antworten