Newsgroup: it.comp.lang.javascript
Titolo: bloccare pagina se javascript non abilitato

come potrei fare ? 

 come potrei fare ?
cosa intendi per "bloccare"?
Puoi fare una prepagina con redirect, del tipo
<script type="text/javascript">
 window.onload=function() {
  window.location.href="tuapagina.htm";
 }
</script>
<noscript>Questo sito necessita di javascript per funzionare
correttamente</noscript>
Oppure, se vuoi fare al contrario (la sto sparando, mai provato) potresti
mettere un bel meta refresh nella pagina che reindirizza alla pagina "no
javascript", assegnargli un id e poi via javascript disabilitarlo ... ma
non so se riesci a referenziare un tag meta via id (via
getElementsByTagName, forse?) e non so se riesci a disabilitarlo.
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M.

 
Bella idea!
Magari il meta refresh si attiva dopo 5 secondi mentre un redirect via 
JS si attiva subito?
Alex.

 JS si attiva subito?
esatto, l'idea è questa, ma non so appunto se riesci a "beccare" il meta
-- 
"E' l' ignoranza che crea l'intolleranza
 di gente cieca e senza coscienza"
									  S.S.S.

 </script>
Perché aspettare l'onload?
-- 
~ "When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

 Perché aspettare l'onload?
ancora meglio (penso che anche il meta, comunque, attende il caricamento
della pagina prima di iniziare a contare).
sono curioso di sapere se il tag meta č referenziabile in qualche modo (ma
non ho tempo per fare un microtest, attendo info da APB)
-- 
"Affacciati affacciati benedici, guardaci
 guardaci...guardaci!
 Tanto sono quasi duemila anni che stai a guardare!"
									    E.B.


mi sono perso ma se js è disabilitato ? come puoi fare il location...

 mi sono perso ma se js è disabilitato ? come puoi fare il location...
appunto: se js è disabilitato parte il meta che rimbalza alla pagina senza
js...
-- 
"Non sai che ci vuol scienza
 ci vuol costanza
 ad invecchiare senza maturità"
									    F.G.

 non ho tempo per fare un microtest, attendo info da APB)
Referenziabile è referenziabile. E' un tag.
Ma credo proprio che, una volta letto dal browser, tu non possa impedire il
redirect.
E se ci puoi accedere da js significa che il browser l'ha aggiunto al DOM, e
se l'ha aggiunto al DOM significa che l'ha "letto".


 se l'ha aggiunto al DOM significa che l'ha "letto".
e rimuoverlo dal DOM? dovrei fare qualche prova...


 mi sono perso ma se js č disabilitato ? come puoi fare il location...
Il concetto di base sarebbe proprio quello.
Ti manda alla pagina in questione, solo se hai JS abilitato (e quindi,
riesce a fare il redirect). Se non ha JS abilitato, rimane nella pagina in
cui č.
Premesso che per me basterebbe un tag <noscript> o simile per avvertire
l'utente che per una corretta navigazione occorre js abilitato.
Anche se personalmente tendo a evitare questo genere di cose, almeno per
quanto riguarda i siti.


 e rimuoverlo dal DOM? 
Direi proprio di si. Ripeto, è un tag.
Ma ormai il browser l'ha letto, e l'azione di redirect è stata impostata,
anche se "dormiente".
Puoi rimuovere il meta, ma credo proprio l'azione. Sarebbe come distruggere
l'interruttore di una bomba a tempo dopo che questo è stato premuto.


 e rimuoverlo dal DOM? 
Direi proprio di si. Ripeto, è un tag.
Ma ormai il browser l'ha letto, e l'azione di redirect è stata impostata,
anche se "dormiente".
Puoi rimuovere il meta, ma non credo proprio l'azione. Sarebbe come
distruggere
l'interruttore di una bomba a tempo dopo che questo è stato premuto.
-- 


 l'interruttore di una bomba a tempo dopo che questo è stato premuto.
eggià ...
<html><head>
<META http-equiv="refresh" content="5;URL=salto.htm" id="mioMeta">
<script type="text/javascript">
 miosalto=document.getElementById("mioMeta");
 miosalto.setAttribute("content","");
 miosalto.content="";
 miosalto.parentNode.removeChild(miosalto);
</script>
</head><body>
...
</body></html>
