Newsgroup: it.comp.lang.javascript
Titolo: stabilire la presenza di javascript

Come posso stabilire se sul pc dell'utente collegato al mio sito è presente
Javascript machine è quindi gli script presenti sul sito funzionano??
Vorrei escludere la visualizzazione di alcune pagine (che contengono degli
script) a coloro che non possono visualizzare bene tali pagine.

 script) a coloro che non possono visualizzare bene tali pagine.
e` abbastanza semplice: se non ha javascript allora non eseguira` i
comandi script. Oltre a <noscript> puoi usare una pagina intermedia che
decida dove mandare l'utente:
<html>
 <head>
  <meta http-equiv="refresh" content="1; URL=noscript.html" />
 </head>
 <body onload="location.replace('conscript.html');">
 </body>
</html>
-- 
Splendente in eta` acerba di passione
Rosso fiammante
Ma senza eta` matura
Marcia impostura

 </html>
Scusate se intervengo, mi è piaciuto questo codice ma volevo chiedere
ulteriori chiarimenti:
il tag meta praticamente invia il browser su noscript.html mentre lo script
che agisce appena caricata la pagina stessa invia il browser su la pagina
conscript.html.
Ma non è che il browser interpreta prima il tag meta e dopo lo script? In
questo caso, la pagina non sarebbe sempre e comunque indirizzata su
noscript.html?
Scusate la domanda, sicuramente idiota :-)
ciao

 Ma non č che il browser interpreta prima il tag meta e dopo lo script?
Dipende cosa intendi per "interpretare". Il browser legge sicuramente prima
il tag meta, ma dato che li' il redirect viene fatto dopo un secondo, i
browser che supportano JS hanno tutto il tempo di fare il redirect
IMMEDIATO tramite location.replace.
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

 IMMEDIATO tramite location.replace.
Quindi se ad esempio la pagina contenesse un elemento come una grande
immagine o che altro di pesante, per sicurezza andrebbe impostato il valore
del tempo di attesa sul tag meta un po' piů alto, considerato il tempo che
occorre al corpo del documento di terminare di caricare tutti gli elementi.
Dico bene?

Comunque non sarebbe più semplice una cosa tipo questa:
<html>
<head>
<script language="JavaScript">
<!--
window.location.href = "home1.html"
//-->
</script>
<meta HTTP-EQUIV="REFRESH" CONTENT:"0; URL = 
http://www.home2.html
">
</head>
...
Almeno così non occorre impostare nessun tempo nel tag meta e non ci sono
problemi di sincronismo.
Infatti nell'altro esempio lo script parte una volta caricata la pagina, ma
se appunto nella pagina ci fossero altri elementi, quali un'immagine pesante
o che altro, ci sarebbe il problema, facilmente risolvibile, di settare un
tempo di attesa nel tag meta che dia la sicurezza che tutta la pagina sia
stata caricata.
ciao
Lenmarc

 ma se appunto nella pagina ci fossero altri elementi, quali un'immagine pesante
Come ti ha detto il buon Balestra, quella pagina e' stata concepita come
pagina intermedia; quindi esclude a priori la presenza di immagini o
elementi troppo pesanti.
Tra l'altro se si dovesse optare per una soluzione simile, io aumenterei la
latenza, in modo da avvertire l'utente che sara' ridirezionato in base alle
capacita' del suo browser.
Ma sinceramente, a meno di qualche caso particolare, sconsiglio questo
genere di cose.
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
You don't have to be crazy to be a webmaster. But it helps.

 elementi troppo pesanti.
[cut]
Si, ma che dire dei vecchi browser grafici, che qualcuno chiama "morte
cerebrale", come i personal digital assistants(PDA - assistenti digitali
personali) i quali possono ignorare anche il tag meta, ed in tal caso
sarebbe opportuno aggiungere al codice una bella immaginina come
collegamento, e magari inserire anche un bell'ALT per comprendere anche
Browser testuali come Lynx.
ciao
Lenmarc

 Browser testuali come Lynx.
Concordo con te (tranne che per l'immagine), ma qua stiamo parlando di una
cosa diversa.
Quello che dici tu e' valido quando stiamo parlando di accessibilita'; qua
il discorso e' lievemente diverso: Non stiamo parlando di accessibilita' in
senso lato, quanto di verificare in automatico (e sottolineo in automatico)
la disponibilita' del client ad eseguire javascript, con un metodo non
molto ortodosso.
Le due cose non sono legate. Possono coesistere, ma non sono legate. Puo'
darsi che l'accesibilita' non rientri tra i "goals" del sito in questione,
mentre il checking di Javascript si. Ad esempio, se il mio sito tratta
unicamente di virtuosismi in DHTML, Javascript e DOM, demo di videogiochi
fatti con queste tecnologie, ad esempio.
Personalmente, tendo a cercare di far coincidere le due cose (vedasi il mio
post su questo thread sull'uso del link invece che del redirect), ma
ripeto: Dipende tutto dal contesto, dagli obiettivi che il sito si prefigge
di raggiungere.
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
Una mente perversa e' un peccato sprecarla.
(A dirty mind is a terrible thing to waste)