Passare la risoluzione da javascript a php in modo trasparente

Guarda... sto provando a fare la stessa cosa. Purtroppo sembra che quel codice php nell'head non venga eseguito in maniera corretta o non venga eseguito proprio.

(comunque per il javascript: devi mettere <script language="JavaScript"> adinizio codice e </script> alla fine.
Poi conta che la funzione la devi chiamare o con:
<body onload="Setstyle('')">

oppure con

<script type="text/javascript" src="ajax.js">funzione();</script>

Però nel primo caso stai chiamando la funzione nel body. Nel secondo caso puoi chiamarla pure nell'head. Ma php non scriverà nell'head.
Tieni presente che se invece fai fare tutto a js. Il problema non sussiste.
 
ciao
strano che il php non venga eseguito perchè a che ne so l'interprete legge ed esegue php in qualsiasi punto

poi per lo scrip che hai trovato, da quello che ho capito, non carica il css giusto in automatico, ma è l'utente che deve cliccare sul link in base alla risoluzione che ha

p.s.
sono anni che, nonostante conosca diversi linguaggi, js NON riesco a farmelo venire in testa
 
ciao
il problema non è php.
ho provato una pagina e guardando "codice sorgente" trovo il link rel al css "quello di default".
il problema è che
$_GET['x'] risulta sempre vuoto
quindi l'errore è in js
 
ciao hai ragione, però in quasto caso devi mettere il js in tutte le pagine
poi se voglio gestire più di una risoluzione, dovrei fare cosi?

HTML:
<html>
<head>
<title>Screen size</title>
<script language="Javascript" type="text/javascript"> 
function Setstyle(size){
document.getElementsByTagName("link")[0].disabled = true;
document.getElementsByTagName("link")[1].disabled = true;
document.getElementsByTagName("link")[2].disabled = true;
AW=screen.availWidth;
AH=screen.availHeight;
if(size==""){size="1024x768";}
if((AW<1024 && AH<768) || size=="800x600"){
document.getElementsByTagName("link")[2].disabled = true;
document.getElementsByTagName("link")[1].disabled = true;
document.getElementsByTagName("link")[0].disabled = false;
//scrivo delle risuluzioni a caso
}else if((AW>=1024 && AW<1800) && (AH>=768 && AW<1000)|| size=="1024x768"){
document.getElementsByTagName("link")[0].disabled = true;
document.getElementsByTagName("link")[1].disabled = false;
document.getElementsByTagName("link")[2].disabled = true;
}else if((AW>=1800 && AH>=1000)|| size=="1800x1000"){
document.getElementsByTagName("link")[0].disabled = true;
document.getElementsByTagName("link")[1].disabled = true;
document.getElementsByTagName("link")[2].disabled = false;
}
}
</script>
<link rel="stylesheet" type="text/css"  title="principale" href="800x600.css" />
<link rel="alternate1 stylesheet" type="text/css"  title="alternativo1" href="1024x768.css" />
<link rel="alternate2 stylesheet" type="text/css"  title="alternativo2" href="1800x1000.css" />
</head><body onload="Setstyle('')">
	<div class="content">contenuto</div>
</body>
</html>

inoltre se uno a js disattivato come fa a prendere il css di default?
 
Risolvo due piccoli errori che ho visto. Il primo è che la variabile superglobale che contiene i cookie si chiama $_COOKIE e non $_cockie (erano anni che non ridevo così :D).

Il secondo riguarda l'esecuzione di PHP nei vari punti della pagina. PHP viene eseguito in qualsiasi punto, che sia head o body è indifferente. Il server non può neanche controllare se viene eseguito in head o body...
 
ciao hai ragione, però in quasto caso devi mettere il js in tutte le pagine
poi se voglio gestire più di una risoluzione, dovrei fare cosi?

HTML:
<html>
<head>
<title>Screen size</title>
<script language="Javascript" type="text/javascript"> 
function Setstyle(size){
document.getElementsByTagName("link")[0].disabled = true;
document.getElementsByTagName("link")[1].disabled = true;
document.getElementsByTagName("link")[2].disabled = true;
AW=screen.availWidth;
AH=screen.availHeight;
if(size==""){size="1024x768";}
if((AW<1024 && AH<768) || size=="800x600"){
document.getElementsByTagName("link")[2].disabled = true;
document.getElementsByTagName("link")[1].disabled = true;
document.getElementsByTagName("link")[0].disabled = false;
//scrivo delle risuluzioni a caso
}else if((AW>=1024 && AW<1800) && (AH>=768 && AW<1000)|| size=="1024x768"){
document.getElementsByTagName("link")[0].disabled = true;
document.getElementsByTagName("link")[1].disabled = false;
document.getElementsByTagName("link")[2].disabled = true;
}else if((AW>=1800 && AH>=1000)|| size=="1800x1000"){
document.getElementsByTagName("link")[0].disabled = true;
document.getElementsByTagName("link")[1].disabled = true;
document.getElementsByTagName("link")[2].disabled = false;
}
}
</script>
<link rel="stylesheet" type="text/css"  title="principale" href="800x600.css" />
<link rel="alternate1 stylesheet" type="text/css"  title="alternativo1" href="1024x768.css" />
<link rel="alternate2 stylesheet" type="text/css"  title="alternativo2" href="1800x1000.css" />
</head><body onload="Setstyle('')">
	<div class="content">contenuto</div>
</body>
</html>

inoltre se uno a js disattivato come fa a prendere il css di default?

si.. bravissimo. praticamente attivi solo il link che ti interessa.
Per quanto riguarda Js disattivato torniamo a quello che dicono loro. Il 90 per cento dei browser oramai hanno js attivato, dunque il problema non si pone. Solo nei computer più vecchi verrà allertato l'utente (che magari ha internet Explorer 4 :-D) ke deve scaricare la jvm!
 
Credo che tu ti stia confondendo, angeloluvivieri. La JVM è la Java Virtual Machine e serve per eseguire codice Java, non Javascript, non commettere mai l'errore di confonderli. Pensa che inizialmente erano nati per essere supplementari, mentre alla fine sono diventati i due linguaggi più diversi del mondo!
 
Credo che tu ti stia confondendo, angeloluvivieri. La JVM è la Java Virtual Machine e serve per eseguire codice Java, non Javascript, non commettere mai l'errore di confonderli. Pensa che inizialmente erano nati per essere supplementari, mentre alla fine sono diventati i due linguaggi più diversi del mondo!

hai ragione.. grosso errore! mi so confuso...
 

Discussioni simili