Как перейти в iframe в инструментах разработчика Chrome или в Firebug Lite в Chrome? - PullRequest
13 голосов
/ 19 апреля 2011

когда я пытаюсь использовать cd, консоль говорит: "CD не определен"

Ответы [ 2 ]

14 голосов
/ 17 мая 2012

В Chrome Devtools «переключатель контекста» доступен внизу страницы. Видите выпадающий список <top frame>? Там вы можете изменить, откуда ваш скрипт выполняется. Это то же самое, что и cd().

Это объясняется подробнее в https://stackoverflow.com/a/8581276/89484

6 голосов
/ 14 октября 2011

Да, вы правы. У Firebug есть эта потрясающая команда. Мне это и вправду нравится. Это делает wotke с iframes намного проще. Лично я не хожу в Firefox только потому, что в нем есть cd(), потому что я могу делать все, что могу, с CD в инструментах chrome dev.

Просто используйте ключевое слово contentWindow в командной строке для доступа к объекту iframe window. Тогда вам будет хорошо получить доступ к любой функции и переменной там.

Например, в моем iframe есть переменная, которая обычно не доступна через консоль.

Но, тем не менее, я могу получить доступ к переменной через contentWindow следующим образом:

theIfraem.contentWindow.secret;

enter image description here

Если вы хотите запустить функцию, сделайте следующее:

theIframe.contentWindow.myfunc();

Если вы хотите определить некоторые переменные (самые сложные):

var script = document.createElement('scrept');
script.innerHTML = "var secret = 'hi'";
theIframe.contentWindow.document.body.appendChild(script);

Вот что на самом деле делает cd(). Я знаю, что это не так хорошо, как Firebugs CD (). Но хорошая новость в том, что cd() подходит к Chrome

...