PHP [JS] openWindow() nicht bei allen browsern gut

Timmey92

Commodore
Registriert
Okt. 2008
Beiträge
4.571
Hallo,
es geht um folgenden Code Abschnitt:

PHP:
function vote($site)
{
	global $max_acc_points_per_day, $open_vote_site, $tab_sites, $use_online_check;
	if(isset($tab_sites[$site]))
	{
		if($use_online_check)
			$fp = @fsockopen($tab_sites[$site][0], 80, $errno, $errstr, 3);
		else
			$fp = True;
		if(!($site & $_SESSION["sites"]) && ($_SESSION["date_points"] < $max_acc_points_per_day) && $fp)
		{
			echo "<script type=\"text/javascript\">setTimeout(window.open('",$tab_sites[$site][1],"', '",($open_vote_site ? "_self" : "_blank"),"'),0);</script>";
			if($use_online_check)
				fclose($fp);
			switchConnection("realmd", $_SESSION["realm"]);
			execute_query("UPDATE `voting` SET `sites`=(`sites` | ".$site."), `time`='".time()."' WHERE `user_ip` LIKE '".$_SERVER["REMOTE_ADDR"]."' LIMIT 1");
			$_SESSION["sites"] += $site;
			$_SESSION["time"] = time();
			execute_query("UPDATE `voting_points` SET `points`=(`points` + ".$tab_sites[$site][3]."), `date_points`=(`date_points` + ".$tab_sites[$site][3].") WHERE `id` = ".$_SESSION["user_id"]." LIMIT 1");
			$_SESSION["points"] += $tab_sites[$site][3];
			$_SESSION["date_points"] += $tab_sites[$site][3];
		}
	}
}

PHP:
echo "<script type=\"text/javascript\">setTimeout(window.open('",$tab_sites[$site][1],"', '",($open_vote_site ? "_self" : "_blank"),"'),0);</script>";

ist der entscheidende.
Diese Funktion wird bei Klicken eines Buttons (vote) aufgerufen.
In manchen Browsern wird dann das neue Fenster geöffnet und in manchen nicht. Bei mir (Chrome) geht es z.B. nicht. Hängt wohl auch von den Javascript Einstellungen ab.

Gibt es da einen besseren Weg, der immer zu 100% funktioniert?

Hoffe ihr könnt mir da unter die Arme greifen :)
 
Zurück
Oben