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

尝试debugger在 iframe/非 iframe 脚本中使用关键字。简单地放在debugger;一行上,应该以编程方式在 Chrome 开发人员工具(也是 Firebug)中导致一个断点。更多信息:https ://developer.mozilla.org/en/JavaScript/Reference/Statements/debugger

于 2012-06-15T19:16:20.920 回答