7

ベースhtmlファイル(base.html)があり、その中に(iframe.html)を使用するiframeがあります。iframe は、特定のメニュー項目をクリックしたときにのみ表示されます。どちらも同じドメインでホストされています。

base.html には、私が使用する外部サービスを指すスクリプトを含めています。スクリプトを含めると、ページに存在するオブジェクトが返されます。

<script type="text/javascript" src="externalSite.com/myID.js"></script>

iframe.html には、返されたオブジェクトの属性の一部に基づいてメニューを構築する別のスクリプトがあります。

<script type="text/javascript" src="my_list_builder.js"></script>

my_list_builder.js のコードは次のようになります。

var myList = parent.externalAPI.getItems()
var listBlock = "<div><ul>"

for (var i = 0; i < myList.length; i++) {
    listBlock += '<li><span>'+ myList[i].Name + '</span></li>';
}

listBlock += '</ul></div>'

$('someElement').append(listBlock);

これで、このコードは期待どおりに実行され、必要なページに listBlock が追加されますが、Chrome で iframe 内の要素を調べようとすると、それができません。iframe は検査できる最下位の要素ですが、通常のドロップダウン オプションはありません。my_list_builder.js を削除すると、問題なく iframe 内の要素を調べることができます。

問題の原因についてのアイデアはありますか?

4

1 に答える 1

1

debuggeriframe/非 iframe スクリプト内でキーワードを使用してみてください。行を追加するだけdebugger;で、プログラムによって Chrome 開発者ツール (Firebug) にブレークポイントが発生します。詳細: https://developer.mozilla.org/en/JavaScript/Reference/Statements/debugger

于 2012-06-15T19:16:20.920 に答える