Einträge in Kategorie » PHP

Links der JQuery Fancybox im Hauptfenster öffnen, nicht im Frame

verfasst am 15-3-2012 von | Kommentare deaktiviert für Links der JQuery Fancybox im Hauptfenster öffnen, nicht im Frame

Es gibt durchaus mehrere Ansätze für eine Lösung,
aber der effektivste Weg ist wohl der hier:

Einfach die Codezeile

<base target="_parent" />

nach dem beginnenden <head> einfügen.

Dadurch werden alle Links oder auch formular-basierte „Submitts“,
die in einem Frame-Overlay (z.B. der Fancybox) vorkommen,
wieder im Hauptfenster geöffnet.

That’s it!

Ist ganz eingfach: Fenstergröße ermitteln mit PHP – Browsergröße auslesen

verfasst am 3-3-2011 von | Kommentare deaktiviert für Ist ganz eingfach: Fenstergröße ermitteln mit PHP – Browsergröße auslesen

Da es mich auch genervt hat, dass man auf Serverseite (im PHP Code) nicht direkt an die Größe des Browserfensters herankommt, habe ich mir selbst die Mühe gemacht, eine Lösung – möglichst einfach – hinzubekommen… und es ist mir über Javascript/Ajax gelungen :-)

Die Lösung möchte ich natürlich niemanden vorenthalten, daher hier mein Ansatz:

Es gibt nur wenige Vorbedingungen:
– PHP-Sessions müssen aktiviert sein
– der Client muss Javascript aktiviert haben (was zu über 98% eigentlich immer zutrifft…)

Man legt eine server.php mit folgendem Code an:

<?php
// transfer client browser width to server (php)
// by mantronic 2010 (steffen beck, steffen@mantronic-software.de)
session_start();
if(isset($_REQUEST[width])){
$_SESSION[width]=intval($_REQUEST[width]);
}
?>

und eine browser.php, die der Client aufruft:

<?php
session_start();
if($_SESSION[width]==null){
echo 'Die Fenstergröße (Breite vom Browser) wird zum Server übertragen und ist gerade noch: '.intval($_SESSION[width]).'<br/>';
?>
<script language="text/javascript">
<!--
var XMLHTTP=null;if(window.XMLHttpRequest){XMLHTTP=new XMLHttpRequest();}else if(window.ActiveXObject){try{XMLHTTP=new ActiveXObject("Msxml2.XMLHTTP");}catch(ex){try {XMLHTTP=new ActiveXObject("Microsoft.XMLHTTP");}catch(ex){}}};function sendWidthToPhp(){var width=(window.innerWidth==undefined)?window.document.documentElement.clientWidth:window.innerWidth;XMLHTTP.open("POST","server.php?width=" + width);XMLHTTP.send(null);};window.onload=sendWidthToPhp;
-->
</script>
<?php
echo '<br/>Bitte die Seite neu laden (F5 drücken)';
}else{
echo 'Die Browserfenstergröße ist nun beim Server in der Session gespeichert: '.intval($_SESSION[width]).'<br/>';
echo 'by <a href="http://mantronic-software.de">mantronic</a>'
}
?>

Fertig :-)