2010-12-03 25 views
2

donc ce que je veux est de faire ceci:Javascript est désactivé, ceci est ce que vous voulez.

if (top != self) { 
    top.location = self.location; 
} 

sur self.location; changer d'événement. (il est possible d'utiliser Jquery si vraiment nécessaire mais j'aimerais ne pas le faire) Est-ce possible et comment faire une telle chose?

L'idée principale est de garder toutes les fenêtres popup sur le dessus. Et ici, nous essayons de modifier le code de la fenêtre afin qu'il soit sur le dessus lorsque l'utilisateur clique sur le bouton principal pour en ouvrir un nouveau. Donc, Ifigured nous devons nous abonner et écouter l'événement de changement self.location. Je me demande comment le faire?

Répondre

6

Etes-vous en train d'essayer de faire du 'frame busting'? Ou voulez-vous savoir quand top.location change? Si ce dernier, je présume que c'est pour détecter des changements à la valeur de l'étiquette de hachage de l'URL, sinon un changement d'emplacement charge une nouvelle page, donc votre JS ne pourrait jamais fonctionner.

Si vous souhaitez vérifier les événements de changement de hachage (c'est-à-dire, le contenu qui se trouve après le # dans une URL), lisez cette question similaire sur SO: On-Window-Location-Hash-Change.

S'il s'agit de casse de trame, il y a beaucoup de bonnes questions liées au SO telles que Frame Buster Buster.

En plus d'un article de blog intéressant sur Coding Horror.

1

Vouliez-vous dire?

if (top.location != self.location) { top.location=self.location; } 
+0

oui mais je n'ai pas besoin de le découvrir qu'une seule fois. J'ai besoin de m'inscrire pour changer d'événement. – Rella

+0

Il suffit de coller le dessus dans un setInterval –

+0

@ box9 ressemble à un mauvais ideato moi - JS il ne sera pas aussi réactif que nécessaire ou willeat lotof CPU – Rella