Premessa: non sapevo se inserire la discussione in PHP o in JAVASCRIPT data che riguarda entrambe le cose.
Nel mio sito c'è una pagina che tramite un pulsante mette a schermo intero o toglie il fullscreen alla pagina. La stessa pagina ha bisogno di essere aggiornata ogni tot di tempo quindi tramite il metodo
Codice PHP:
header("Refresh: 600; url=" . $_SERVER["PHP_SELF"]);
faccio in modo che si aggiorni. Il punto è che deve rimanere a schermo intero se lo era. Allora ho fatto che quando il pulsante per lo schermo intero viene premuto fa partire una funzione che richiama una pagina php tramite ajax
codice:
function updateSession(bool){
var x = new XMLHttpRequest();
x.open("GET", "ajax/updateSession.php?bool=" + bool, true);
x.send();
}
La pagina php in questione setta una variabile $_SESSION a true se è stato premuto per lo schermo intero e false se invece si è tornati alla modalità normale
Codice PHP:
<?
session_start();
$_SESSION["full"] = $_GET["bool"];
?>
Nella pagina di cui parlavo prima (quella del fullscreen) ho fatto un if che controlla se la variabile è true e se si richiama il metodo che mette a schermo intero la pagina (L'ho fatto alla fine della pagina per assicurari che tutto il resto venga caricato prima)
Codice PHP:
<?
if($_SESSION["full"] == true){
?>
<script>
qwe();
</script>
<?
}
?>
in quest'ultimo if se mi faccio stampare la variabile session in questo modo
Codice PHP:
<script>alert(<? echo $_SESSION['full'];?>);</script>
<?
if($_SESSION["full"] == true){
?>
<script>
alert(<? echo $_SESSION['full'];?>);
qwe();
</script>
<?
Se io non faccio niente mi dice che è false mi entra nell'if inspegabilmente e mi ristampa false, inoltre la funzione per lo schermo intero funziona solo in parte. La funziona fa due cose, nasconde la toolbar tramite con i css e mette a schermo intero; in pratica fa solo la prima delle due.
se invece clicco il pulsante per settare la session a true, una volta riaggiornata la pagina fa esattamente la stessa cosa ma stampantdo true al posto di false.