Webkit開発者ツール/ firebugコンソールで実行されるjavascriptのコンテキストを変更して、ページ上のiframe内から実行されているようにコードを実行したいと思います。
別のページのiframeでページを開くことでこれを実行できることは知っていますが、親フレームと対話するコードを実行したいと思います。
Chrome 15では、コンソールの範囲を変更できます。コンソールの下部のコンソールのクリアボタンの横に、<top frame>
使用可能なフレームのリストを提供します。
Firefoxには 類似の機能 が現在開発中です:
フレーム間を移動することもできます コマンドラインを使用 :
var frame = document.getElementById("frame1").contentWindow;
cd(frame);
<iframe>
機能を使用して、window.frames[x]
sでコードを実行できます。例えば、
window.frames[0].runFunction()
Firebugソリューションについては、別のSO質問で this answer を参照してください。ただし、デニスのChromeソリューションのようにクロスドメインでは機能しません。
編集:firebugの新しいバージョンでは、クロスドメインの問題が修正されている可能性があります。
デフォルトでは、スクリプトステートメントとコマンドの実行はトップレベルウィンドウのコンテキストで実行されます。フレームを使用している場合は、「cd()」コンソールコマンドを使用します。
cd()パラメータなしでcd()を呼び出すと、トップレベルウィンドウに戻ります。
cd(window)コマンドライン式の評価を、Webページのデフォルトのトップレベルウィンドウからフレームのウィンドウに変更できます。
詳細は、 こちら
cd(document.getElementsByTagName('iframe')[0]);