web-dev-qa-db-ja.com

firebug:iframeにcdする方法

Iframeで実行されるFacebookキャンバスアプリケーションがあります。 firebugでページをデバッグしたいのですが、アプリを実行しているiframeにスコープするjavascriptを取得できません。

iframe:

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

私は次のすべてを試しましたが、どれも機能しません:

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

Firefox 3.6.13があり、firebug 1.7a11とfirebug 1.6.2を試しました

また、このリンクからブックマークレットやその他のさまざまなものを試してみました iFrame内のFirebugおよびjQueryセレクター 使用できません。

64
Kalendae

次のコマンドのいずれかを使用します。

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

そして

 cd(top)

メインウィンドウに戻ります。

それでも、バグにより、これは現在クロスドメインiframeでは機能しません( http://code.google.com/p/fbug/issues/detail?id=389 )。両方の場合に環境をテストできる2つのテストケースがあります。

別の可能性のある驚きのソース:一度に複数のコマンドを実行すると、cdコマンドは直接続くコマンドに影響を与えないようです:

 >>> 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"
104
tautologe

Chrome=にドロップダウンがあります  javascriptコンソールのtop *を使用すると、別のフレームに切り替えてjavascriptを実行できます。クロスドメインでも機能します。

* 14/10/10更新:最新バージョンのChromeでは、このドロップダウンはコンソールの下部から上部に移動しました。

14
Muhd

要素には次のようにアクセスできます。window.frames[x].document.getElementById("elementID");xはフレームインデックスで、elementIDは指定している要素です。

0
mpora

この質問が尋ねられたとき、ウィキは更新されていなかったと思いますが、今ではニースの例があります: https://getfirebug.com/wiki/index.php/Cd

基本的に、iframe要素からウィンドウを取得するために不足していたのは「.contentWindow」でした

0
user2451227