2010-05-21 6 views
0

Certains sites Web comme Twitter, Flickr, etc. évitent d'être bloqués dans un iframe. Y at-il moyen d'empêcher que cela ne se produise? J'ai juste besoin de voir les données publiques de sorte que je suis ouvert à la désactivation de Javascript, etc. Comment désactiver JavaScript en cours d'exécution sur l'iframe? Est-ce possible?Garder des sites Web dans un iframe

+1

En tant qu'utilisateur ou développeur de la page que vous tentez de piéger, je vous encourage fortement à vous traquer et à vous coller * dans un cadre pour le faire. –

Répondre

1

Vous ne pouvez pas désactiver JavaScript dans les iFrames ou toute autre ressource AFAIK. La seule façon de le faire de manière fiable consiste à charger les sites via un proxy PHP ou un autre script côté serveur, filtrer tout JavaScript (ce qui va casser de nombreux sites), et fixer toutes les références relatives aux images et autres médias - une tâche qui prendrait un temps fou à terminer si vous voulez que les sites fonctionnent réellement.

Si vous avez juste besoin de certaines données des sites, le proxy peut fonctionner. Voir la même politique d'origine vous empêcherait d'obtenir quoi que ce soit d'un IFRAME d'un domaine différent, c'est aussi le seul moyen d'accéder au contenu de ces sites en utilisant JavaScript.

+0

C'est la méthode que j'ai finalement choisi d'utiliser. En outre, en utilisant onbeforeunload, vous serez en mesure de détecter les sites qui veulent sortir. – Pasta

1

Dans IE uniquement, il existe l'attribut <iframe security="restricted">. Cela désactive JavaScript dans le document ciblé, ce qui casserait un script d'échappement de trame JS - ainsi que toutes les autres interactions dépendantes du script. Cependant, mis à part le problème de compatibilité du navigateur, il est très impoli d'encadrer un site qui ne veut pas être encadré, et cela fonctionnera de moins en moins au fur et à mesure que d'autres sites se déploient X-Frame-Options. Je ne suis pas sûr de ce que vous entendez par "besoin de voir les données publiques" ... comme Pekka l'a dit, vous ne serez pas en mesure de "voir" dans le DOM d'un iframe de l'extérieur, comme ce serait un problème de sécurité.

Questions connexes