2010-07-13 4 views
8

Je me demandais s'il y avait une sorte d'événement déclenché lorsque javascript est activé dans un navigateur (par exemple dans firefox, tools-> options-> cocher enable javascript-> cliquez sur ok). Je souhaite rediriger un utilisateur vers une page lorsque cela se produit. des idées?comment rediriger vers une page dès qu'un utilisateur active son javascript?

Merci! J'ai mis un iframe dans la page mais je ne reçois pas l'alerte (après avoir activé javascript), donc l'actualisation ne doit pas fonctionner. Quel est le probleme avec ca?

<iframe style="display:none"> 
     <html> 
      <head> 
       <title>my iframe</title> 

       <meta http-equiv="Refresh" content="5" /> 

       <script type="text/javascript"> 
        window.parent.location.href = 'home.php'; 
        alert("HELLO"); 
       </script> 

      </head> 
     </html> 
    </iframe> 
+0

Pourquoi ne peut pas vous serveur redirection côté? –

+0

parce que je ne sais pas si elles ont JS activé côté serveur – Garrett

+0

Je ne sais pas pourquoi vous voulez faire cela, mais je soupçonne que c'est pour des fins de mal. Devriez-vous forcer les utilisateurs à activer JavaScript lorsqu'ils ne le souhaitent pas? – Borealid

Répondre

3

Vous pouvez uniquement détecter si JavaScript est activé/désactivé lors du chargement de la page. Il n'y a aucun événement appelé pour être activé/désactivé après le chargement d'une page. La seule solution que je peux penser est d'avoir un iframe invisible dans votre page principale contenant un script avec un petit meta refresh et une vérification pour savoir si JavaScript est activé - si c'est alors rediriger la page parent (principale).

de sorte que votre iframe comprendrait quelque chose comme ceci:

jscheck.html

<html> 
<head> 
<title>my iframe</title> 
<meta http-equiv="refresh" content="5"> 
<script type="text/javascript"> 
window.parent.location.href = 'js_turned_on.html'; 
</script> 
</head> 
<body> 
</body> 
</html> 

checker.html

<html> 
<head> 
<title>Form Test</title> 
</head> 
<body> 
<iframe src="jscheck.html"></iframe> 
</body> 
</html> 
+0

c'est bien aussi! Je vais devoir essayer ceci et voir si cela fonctionne, parce que c'est mieux que rafraîchir la page entière plutôt qu'un iframe invisible. Merci! – Garrett

+0

ne fonctionne pas encore. J'ai mis à jour mon message avec les deets =) – Garrett

+1

@Garrett - le iframe doit lier à un fichier réel en utilisant son attribut src - voir l'exemple ci-dessus – robjmills

0

vous pourriez avoir une petite minuterie sur votre page avec une pause de 1 seconde.

+0

mais comment savoir quand javascript est activé? tous les tags