64 votes

firebug: comment cd sur une iframe

J'ai un facebook toile application qui s'exécute dans un iframe. Je voudrais debug ma page dans firebug, mais ne peut pas obtenir le javascript pour le champ d'application de l'iframe qui est en cours d'exécution de mon application.

l'iframe:

<iframe frameborder="0" src="[app_url_removed]" name="iframe_canvas" id="iframe_canvas" class="canvas_iframe_util" style="height: 905px;"></iframe>

j'ai essayé tous les suivants, et aucune de ces travaux:

cd(iframe_canvas)
cd(window.iframe_canvas)
cd(iframe_canvas.window)
cd($('iframe_canvas'))

J'ai firefox 3.6.13 et j'ai essayé de firebug 1.7a11 et firebug 1.6.2

aussi essayé le bookmarklet et diverses autres choses à partir de ce lien Firebug et sélecteurs jQuery dans une iFrame en vain.

104voto

tautologe Points 1166

utilisez l'une de ces commandes:

 cd(frames[0]) 
 cd(frames["iframe_canvas"])

et

 cd(top)

pour revenir à la fenêtre principale.

Néanmoins, en raison d'un bug actuellement, cela ne fonctionne pas sur la croix-de-domaine-des iframes (http://code.google.com/p/fbug/issues/detail?id=3893). Il y a deux cas de test où vous pouvez tester votre environnement pour les deux cas:

Une autre source possible de surprise: si vous exécutez plusieurs commandes à la fois la commande cd ne semble pas avoir un effet pour les directement les commandes suivantes:

 >>> cd(frames[0]); location.href;
 ["Current window:", Window cdFrame.html]
 "https://getfirebug.com/tests/content/commandLine/cd.html"
 >>> location.href
 "https://getfirebug.com/tests/content/commandLine/cdFrame.html"

14voto

Muhd Points 2975

Dans Chrome, une liste déroulante située en bas en haut * de la console javascript vous permet de passer à un autre cadre pour exécuter javascript. Fonctionne également entre domaines!

* Mise à jour le 2/10/14: dans les versions plus récentes de Chrome, cette liste déroulante a été déplacée du bas vers le haut de la console.

0voto

user2451227 Points 265

Je suppose que le wiki n’a pas été mis à jour lorsque cette question a été posée, mais il contient maintenant de beaux exemples: https://getfirebug.com/wiki/index.php/Cd

En gros, ce qui vous manquait pour obtenir la fenêtre de l'élément iframe était ".contentWindow"

0voto

mpora Points 426

Les éléments sont accessibles de la manière suivante: window.frames[x].document.getElementById("elementID");x correspond à l’indice de cadre et elementID correspond à l’élément sur lequel vous pointez.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X